From 5117d74da612409d9087deed07d506f6f0573124 Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Wed, 1 Nov 2023 15:40:08 -0300 Subject: [PATCH 1/6] fix: groovy dependency issue and file encoding for special characters --- build.gradle | 12 ++++++++++++ src/test/java/com/google/maps/GeocodingApiTest.java | 4 ++-- src/test/java/com/google/maps/PlacesApiTest.java | 12 ++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 88500e028..e67abbdde 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,10 @@ repositories { mavenCentral() } +configurations { + liquibaseRuntime.exclude group: "org.codehaus.groovy" +} + task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from 'build/docs/javadoc' @@ -64,6 +68,13 @@ dependencies { testImplementation 'org.json:json:20231013' testImplementation 'io.opencensus:opencensus-impl:0.31.1' testImplementation "org.mockito:mockito-inline:5.2.0" + liquibaseRuntime('org.liquibase:liquibase-core:3.8.1') + liquibaseRuntime('org.codehaus.groovy:groovy-all:3.0.3') + liquibaseRuntime 'org.postgresql:postgresql' + liquibaseRuntime('org.liquibase:liquibase-groovy-dsl:2.1.2') + liquibaseRuntime('org.liquibase.ext:liquibase-hibernate5:3.10.2') + liquibaseRuntime('org.springframework.boot:spring-boot-starter-data-jpa') + liquibaseRuntime sourceSets.main.output } task updateVersion(type: Copy) { @@ -96,6 +107,7 @@ java { javadoc { exclude '**/internal/**' def currentJavaVersion = org.gradle.api.JavaVersion.current() + options.encoding "UTF-8" } jacoco { diff --git a/src/test/java/com/google/maps/GeocodingApiTest.java b/src/test/java/com/google/maps/GeocodingApiTest.java index e99e2bab9..93f06742c 100644 --- a/src/test/java/com/google/maps/GeocodingApiTest.java +++ b/src/test/java/com/google/maps/GeocodingApiTest.java @@ -874,7 +874,7 @@ public void testUtfResult() throws Exception { try (LocalTestServerContext sc = new LocalTestServerContext(utfResultGeocodeResponse)) { LatLng location = new LatLng(46.8023388, 1.6551867); GeocodingResult[] results = GeocodingApi.newRequest(sc.context).latlng(location).await(); - assertEquals("1 Rue Fernand Raynaud, 36000 Châteauroux, France", results[0].formattedAddress); + assertEquals("1 Rue Fernand Raynaud, 36000 Ch\u00E2teauroux, France", results[0].formattedAddress); sc.assertParamValue(location.toUrlValue(), "latlng"); } } @@ -998,7 +998,7 @@ public void testReverseGeocodeWithKitaWard() throws Exception { assertNotNull(results); assertNotNull(Arrays.toString(results)); assertEquals( - "Japan, 〒603-8361 Kyōto-fu, Kyōto-shi, Kita-ku, Kinkakujichō, 1 北山鹿苑寺金閣寺", + "Japan, \u3012603-8361 Ky\u014Dto-fu, Ky\u014Dto-shi, Kita-ku, Kinkakujich\u014D, \uFF11 \u5317\u5C71\u9E7F\u82D1\u5BFA\u91D1\u95A3\u5BFA", results[0].formattedAddress); assertEquals("Kita Ward", results[3].addressComponents[0].shortName); assertEquals("Kita Ward", results[3].addressComponents[0].longName); diff --git a/src/test/java/com/google/maps/PlacesApiTest.java b/src/test/java/com/google/maps/PlacesApiTest.java index 24cbbf5ca..fac1b7482 100644 --- a/src/test/java/com/google/maps/PlacesApiTest.java +++ b/src/test/java/com/google/maps/PlacesApiTest.java @@ -263,11 +263,11 @@ public void testPlaceDetailsLookupGoogleSydney() throws Exception { } assertNotNull(placeDetails.openingHours.weekdayText); - assertEquals(placeDetails.openingHours.weekdayText[0], "Monday: 8:30 AM – 5:30 PM"); - assertEquals(placeDetails.openingHours.weekdayText[1], "Tuesday: 8:30 AM – 5:30 PM"); - assertEquals(placeDetails.openingHours.weekdayText[2], "Wednesday: 8:30 AM – 5:30 PM"); - assertEquals(placeDetails.openingHours.weekdayText[3], "Thursday: 8:30 AM – 5:00 PM"); - assertEquals(placeDetails.openingHours.weekdayText[4], "Friday: 8:30 AM – 5:00 PM"); + assertEquals(placeDetails.openingHours.weekdayText[0], "Monday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals(placeDetails.openingHours.weekdayText[1], "Tuesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals(placeDetails.openingHours.weekdayText[2], "Wednesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals(placeDetails.openingHours.weekdayText[3], "Thursday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); + assertEquals(placeDetails.openingHours.weekdayText[4], "Friday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); assertEquals(placeDetails.openingHours.weekdayText[5], "Saturday: Closed"); assertEquals(placeDetails.openingHours.weekdayText[6], "Sunday: Closed"); assertEquals(placeDetails.utcOffset, 660); @@ -747,7 +747,7 @@ public void testPlaceDetailsInFrench() throws Exception { assertEquals("ChIJ442GNENu5kcRGYUrvgqHw88", details.placeId); assertEquals( "35 Rue du Chevalier de la Barre, 75018 Paris, France", details.formattedAddress); - assertEquals("Sacré-Cœur", details.name); + assertEquals("Sacr\u00E9-C\u0153ur", details.name); } } From 5d781fee40956a135ab006f929879586b0675169 Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Wed, 1 Nov 2023 18:13:41 -0300 Subject: [PATCH 2/6] Added: code line count report and Code Coverage report folders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Line count of code is done using VSCodeCounter extension • Code Coverage Report for test cases is generated using inbuilt functionality of IntelliJ with branch coverage Enabled --- .VSCodeCounter/2023-10-31_13-57-36/details.md | 227 ++ .../2023-10-31_13-57-36/diff-details.md | 15 + .VSCodeCounter/2023-10-31_13-57-36/diff.csv | 2 + .VSCodeCounter/2023-10-31_13-57-36/diff.md | 19 + .VSCodeCounter/2023-10-31_13-57-36/diff.txt | 22 + .../2023-10-31_13-57-36/results.csv | 214 ++ .../2023-10-31_13-57-36/results.json | 1 + .VSCodeCounter/2023-10-31_13-57-36/results.md | 49 + .../2023-10-31_13-57-36/results.txt | 264 +++ CodeCoverageReport/css/coverage.css | 154 ++ CodeCoverageReport/css/idea.min.css | 118 + CodeCoverageReport/img/arrowDown.gif | Bin 0 -> 89 bytes CodeCoverageReport/img/arrowUp.gif | Bin 0 -> 91 bytes CodeCoverageReport/index.html | 376 ++++ CodeCoverageReport/index_SORT_BY_BLOCK.html | 376 ++++ .../index_SORT_BY_BLOCK_DESC.html | 376 ++++ CodeCoverageReport/index_SORT_BY_CLASS.html | 376 ++++ .../index_SORT_BY_CLASS_DESC.html | 376 ++++ CodeCoverageReport/index_SORT_BY_LINE.html | 376 ++++ .../index_SORT_BY_LINE_DESC.html | 376 ++++ CodeCoverageReport/index_SORT_BY_METHOD.html | 376 ++++ .../index_SORT_BY_METHOD_DESC.html | 376 ++++ .../index_SORT_BY_NAME_DESC.html | 376 ++++ CodeCoverageReport/js/highlight.min.js | 1388 ++++++++++++ .../js/highlightjs-line-numbers.min.js | 24 + CodeCoverageReport/ns-1/index.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_BLOCK.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_BLOCK_DESC.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_CLASS.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_CLASS_DESC.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_LINE.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_LINE_DESC.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_METHOD.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_METHOD_DESC.html | 1119 ++++++++++ .../ns-1/index_SORT_BY_NAME_DESC.html | 1119 ++++++++++ CodeCoverageReport/ns-1/sources/source-1.html | 304 +++ .../ns-1/sources/source-10.html | 353 +++ .../ns-1/sources/source-11.html | 319 +++ .../ns-1/sources/source-12.html | 191 ++ .../ns-1/sources/source-13.html | 414 ++++ .../ns-1/sources/source-14.html | 392 ++++ .../ns-1/sources/source-15.html | 331 +++ .../ns-1/sources/source-16.html | 275 +++ .../ns-1/sources/source-17.html | 338 +++ .../ns-1/sources/source-18.html | 166 ++ .../ns-1/sources/source-19.html | 169 ++ .../ns-1/sources/source-1a.html | 138 ++ .../ns-1/sources/source-1b.html | 731 +++++++ .../ns-1/sources/source-1c.html | 370 ++++ .../ns-1/sources/source-1d.html | 234 ++ .../ns-1/sources/source-1e.html | 152 ++ CodeCoverageReport/ns-1/sources/source-2.html | 576 +++++ CodeCoverageReport/ns-1/sources/source-3.html | 231 ++ CodeCoverageReport/ns-1/sources/source-4.html | 321 +++ CodeCoverageReport/ns-1/sources/source-5.html | 358 +++ CodeCoverageReport/ns-1/sources/source-6.html | 490 +++++ CodeCoverageReport/ns-1/sources/source-7.html | 297 +++ CodeCoverageReport/ns-1/sources/source-8.html | 796 +++++++ CodeCoverageReport/ns-1/sources/source-9.html | 244 +++ CodeCoverageReport/ns-1/sources/source-a.html | 270 +++ CodeCoverageReport/ns-1/sources/source-b.html | 236 ++ CodeCoverageReport/ns-1/sources/source-c.html | 224 ++ CodeCoverageReport/ns-1/sources/source-d.html | 188 ++ CodeCoverageReport/ns-1/sources/source-e.html | 388 ++++ CodeCoverageReport/ns-1/sources/source-f.html | 156 ++ CodeCoverageReport/ns-2/index.html | 363 ++++ .../ns-2/index_SORT_BY_BLOCK.html | 363 ++++ .../ns-2/index_SORT_BY_BLOCK_DESC.html | 363 ++++ .../ns-2/index_SORT_BY_CLASS.html | 363 ++++ .../ns-2/index_SORT_BY_CLASS_DESC.html | 363 ++++ .../ns-2/index_SORT_BY_LINE.html | 363 ++++ .../ns-2/index_SORT_BY_LINE_DESC.html | 363 ++++ .../ns-2/index_SORT_BY_METHOD.html | 363 ++++ .../ns-2/index_SORT_BY_METHOD_DESC.html | 363 ++++ .../ns-2/index_SORT_BY_NAME_DESC.html | 363 ++++ CodeCoverageReport/ns-2/sources/source-1.html | 128 ++ CodeCoverageReport/ns-2/sources/source-2.html | 135 ++ CodeCoverageReport/ns-2/sources/source-3.html | 159 ++ CodeCoverageReport/ns-2/sources/source-4.html | 176 ++ CodeCoverageReport/ns-2/sources/source-5.html | 209 ++ CodeCoverageReport/ns-2/sources/source-6.html | 147 ++ CodeCoverageReport/ns-2/sources/source-7.html | 145 ++ CodeCoverageReport/ns-3/index.html | 503 +++++ .../ns-3/index_SORT_BY_BLOCK.html | 503 +++++ .../ns-3/index_SORT_BY_BLOCK_DESC.html | 503 +++++ .../ns-3/index_SORT_BY_CLASS.html | 503 +++++ .../ns-3/index_SORT_BY_CLASS_DESC.html | 503 +++++ .../ns-3/index_SORT_BY_LINE.html | 503 +++++ .../ns-3/index_SORT_BY_LINE_DESC.html | 503 +++++ .../ns-3/index_SORT_BY_METHOD.html | 503 +++++ .../ns-3/index_SORT_BY_METHOD_DESC.html | 503 +++++ .../ns-3/index_SORT_BY_NAME_DESC.html | 503 +++++ CodeCoverageReport/ns-3/sources/source-1.html | 133 ++ CodeCoverageReport/ns-3/sources/source-2.html | 127 ++ CodeCoverageReport/ns-3/sources/source-3.html | 212 ++ CodeCoverageReport/ns-3/sources/source-4.html | 130 ++ CodeCoverageReport/ns-3/sources/source-5.html | 135 ++ CodeCoverageReport/ns-3/sources/source-6.html | 138 ++ CodeCoverageReport/ns-3/sources/source-7.html | 134 ++ CodeCoverageReport/ns-3/sources/source-8.html | 133 ++ CodeCoverageReport/ns-3/sources/source-9.html | 130 ++ CodeCoverageReport/ns-3/sources/source-a.html | 130 ++ CodeCoverageReport/ns-3/sources/source-b.html | 129 ++ CodeCoverageReport/ns-3/sources/source-c.html | 132 ++ CodeCoverageReport/ns-3/sources/source-d.html | 136 ++ CodeCoverageReport/ns-4/index.html | 846 ++++++++ .../ns-4/index_SORT_BY_BLOCK.html | 846 ++++++++ .../ns-4/index_SORT_BY_BLOCK_DESC.html | 846 ++++++++ .../ns-4/index_SORT_BY_CLASS.html | 846 ++++++++ .../ns-4/index_SORT_BY_CLASS_DESC.html | 846 ++++++++ .../ns-4/index_SORT_BY_LINE.html | 846 ++++++++ .../ns-4/index_SORT_BY_LINE_DESC.html | 846 ++++++++ .../ns-4/index_SORT_BY_METHOD.html | 846 ++++++++ .../ns-4/index_SORT_BY_METHOD_DESC.html | 846 ++++++++ .../ns-4/index_SORT_BY_NAME_DESC.html | 846 ++++++++ CodeCoverageReport/ns-4/sources/source-1.html | 155 ++ .../ns-4/sources/source-10.html | 182 ++ .../ns-4/sources/source-11.html | 375 ++++ .../ns-4/sources/source-12.html | 184 ++ .../ns-4/sources/source-13.html | 207 ++ .../ns-4/sources/source-14.html | 181 ++ .../ns-4/sources/source-15.html | 198 ++ .../ns-4/sources/source-16.html | 104 + CodeCoverageReport/ns-4/sources/source-2.html | 186 ++ CodeCoverageReport/ns-4/sources/source-3.html | 189 ++ CodeCoverageReport/ns-4/sources/source-4.html | 191 ++ CodeCoverageReport/ns-4/sources/source-5.html | 137 ++ CodeCoverageReport/ns-4/sources/source-6.html | 156 ++ CodeCoverageReport/ns-4/sources/source-7.html | 185 ++ CodeCoverageReport/ns-4/sources/source-8.html | 382 ++++ CodeCoverageReport/ns-4/sources/source-9.html | 249 +++ CodeCoverageReport/ns-4/sources/source-a.html | 136 ++ CodeCoverageReport/ns-4/sources/source-b.html | 165 ++ CodeCoverageReport/ns-4/sources/source-c.html | 193 ++ CodeCoverageReport/ns-4/sources/source-d.html | 165 ++ CodeCoverageReport/ns-4/sources/source-e.html | 513 +++++ CodeCoverageReport/ns-4/sources/source-f.html | 219 ++ CodeCoverageReport/ns-5/index.html | 363 ++++ .../ns-5/index_SORT_BY_BLOCK.html | 363 ++++ .../ns-5/index_SORT_BY_BLOCK_DESC.html | 363 ++++ .../ns-5/index_SORT_BY_CLASS.html | 363 ++++ .../ns-5/index_SORT_BY_CLASS_DESC.html | 363 ++++ .../ns-5/index_SORT_BY_LINE.html | 363 ++++ .../ns-5/index_SORT_BY_LINE_DESC.html | 363 ++++ .../ns-5/index_SORT_BY_METHOD.html | 363 ++++ .../ns-5/index_SORT_BY_METHOD_DESC.html | 363 ++++ .../ns-5/index_SORT_BY_NAME_DESC.html | 363 ++++ CodeCoverageReport/ns-5/sources/source-1.html | 172 ++ CodeCoverageReport/ns-5/sources/source-2.html | 156 ++ CodeCoverageReport/ns-5/sources/source-3.html | 266 +++ CodeCoverageReport/ns-5/sources/source-4.html | 627 ++++++ CodeCoverageReport/ns-5/sources/source-5.html | 589 +++++ CodeCoverageReport/ns-5/sources/source-6.html | 392 ++++ CodeCoverageReport/ns-5/sources/source-7.html | 189 ++ CodeCoverageReport/ns-6/index.html | 286 +++ .../ns-6/index_SORT_BY_BLOCK.html | 286 +++ .../ns-6/index_SORT_BY_BLOCK_DESC.html | 286 +++ .../ns-6/index_SORT_BY_CLASS.html | 286 +++ .../ns-6/index_SORT_BY_CLASS_DESC.html | 286 +++ .../ns-6/index_SORT_BY_LINE.html | 286 +++ .../ns-6/index_SORT_BY_LINE_DESC.html | 286 +++ .../ns-6/index_SORT_BY_METHOD.html | 286 +++ .../ns-6/index_SORT_BY_METHOD_DESC.html | 286 +++ .../ns-6/index_SORT_BY_NAME_DESC.html | 286 +++ CodeCoverageReport/ns-6/sources/source-1.html | 117 + CodeCoverageReport/ns-6/sources/source-2.html | 115 + CodeCoverageReport/ns-6/sources/source-3.html | 335 +++ CodeCoverageReport/ns-6/sources/source-4.html | 191 ++ CodeCoverageReport/ns-6/sources/source-5.html | 123 ++ CodeCoverageReport/ns-6/sources/source-6.html | 95 + CodeCoverageReport/ns-6/sources/source-7.html | 75 + CodeCoverageReport/ns-7/index.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_BLOCK.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_BLOCK_DESC.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_CLASS.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_CLASS_DESC.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_LINE.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_LINE_DESC.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_METHOD.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_METHOD_DESC.html | 1931 +++++++++++++++++ .../ns-7/index_SORT_BY_NAME_DESC.html | 1931 +++++++++++++++++ CodeCoverageReport/ns-7/sources/source-1.html | 174 ++ .../ns-7/sources/source-10.html | 138 ++ .../ns-7/sources/source-11.html | 139 ++ .../ns-7/sources/source-12.html | 142 ++ .../ns-7/sources/source-13.html | 144 ++ .../ns-7/sources/source-14.html | 168 ++ .../ns-7/sources/source-15.html | 146 ++ .../ns-7/sources/source-16.html | 134 ++ .../ns-7/sources/source-17.html | 173 ++ .../ns-7/sources/source-18.html | 134 ++ .../ns-7/sources/source-19.html | 212 ++ .../ns-7/sources/source-1a.html | 349 +++ .../ns-7/sources/source-1b.html | 148 ++ .../ns-7/sources/source-1c.html | 156 ++ .../ns-7/sources/source-1d.html | 187 ++ .../ns-7/sources/source-1e.html | 177 ++ .../ns-7/sources/source-1f.html | 378 ++++ CodeCoverageReport/ns-7/sources/source-2.html | 407 ++++ .../ns-7/sources/source-20.html | 166 ++ .../ns-7/sources/source-21.html | 150 ++ .../ns-7/sources/source-22.html | 611 ++++++ .../ns-7/sources/source-23.html | 163 ++ .../ns-7/sources/source-24.html | 132 ++ .../ns-7/sources/source-25.html | 251 +++ .../ns-7/sources/source-26.html | 175 ++ .../ns-7/sources/source-27.html | 234 ++ .../ns-7/sources/source-28.html | 157 ++ .../ns-7/sources/source-29.html | 168 ++ .../ns-7/sources/source-2a.html | 144 ++ .../ns-7/sources/source-2b.html | 157 ++ .../ns-7/sources/source-2c.html | 154 ++ .../ns-7/sources/source-2d.html | 159 ++ .../ns-7/sources/source-2e.html | 150 ++ .../ns-7/sources/source-2f.html | 145 ++ CodeCoverageReport/ns-7/sources/source-3.html | 611 ++++++ .../ns-7/sources/source-30.html | 140 ++ .../ns-7/sources/source-31.html | 169 ++ .../ns-7/sources/source-32.html | 199 ++ .../ns-7/sources/source-33.html | 172 ++ .../ns-7/sources/source-34.html | 144 ++ .../ns-7/sources/source-35.html | 124 ++ .../ns-7/sources/source-36.html | 170 ++ .../ns-7/sources/source-37.html | 139 ++ .../ns-7/sources/source-38.html | 154 ++ .../ns-7/sources/source-39.html | 192 ++ .../ns-7/sources/source-3a.html | 275 +++ CodeCoverageReport/ns-7/sources/source-4.html | 271 +++ CodeCoverageReport/ns-7/sources/source-5.html | 162 ++ CodeCoverageReport/ns-7/sources/source-6.html | 137 ++ CodeCoverageReport/ns-7/sources/source-7.html | 285 +++ CodeCoverageReport/ns-7/sources/source-8.html | 209 ++ CodeCoverageReport/ns-7/sources/source-9.html | 234 ++ CodeCoverageReport/ns-7/sources/source-a.html | 147 ++ CodeCoverageReport/ns-7/sources/source-b.html | 207 ++ CodeCoverageReport/ns-7/sources/source-c.html | 221 ++ CodeCoverageReport/ns-7/sources/source-d.html | 145 ++ CodeCoverageReport/ns-7/sources/source-e.html | 165 ++ CodeCoverageReport/ns-7/sources/source-f.html | 190 ++ 239 files changed, 92495 insertions(+) create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/details.md create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff-details.md create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.csv create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.md create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.txt create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.csv create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.json create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.md create mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.txt create mode 100644 CodeCoverageReport/css/coverage.css create mode 100644 CodeCoverageReport/css/idea.min.css create mode 100644 CodeCoverageReport/img/arrowDown.gif create mode 100644 CodeCoverageReport/img/arrowUp.gif create mode 100644 CodeCoverageReport/index.html create mode 100644 CodeCoverageReport/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/js/highlight.min.js create mode 100644 CodeCoverageReport/js/highlightjs-line-numbers.min.js create mode 100644 CodeCoverageReport/ns-1/index.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1.html create mode 100644 CodeCoverageReport/ns-1/sources/source-10.html create mode 100644 CodeCoverageReport/ns-1/sources/source-11.html create mode 100644 CodeCoverageReport/ns-1/sources/source-12.html create mode 100644 CodeCoverageReport/ns-1/sources/source-13.html create mode 100644 CodeCoverageReport/ns-1/sources/source-14.html create mode 100644 CodeCoverageReport/ns-1/sources/source-15.html create mode 100644 CodeCoverageReport/ns-1/sources/source-16.html create mode 100644 CodeCoverageReport/ns-1/sources/source-17.html create mode 100644 CodeCoverageReport/ns-1/sources/source-18.html create mode 100644 CodeCoverageReport/ns-1/sources/source-19.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1a.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1b.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1c.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1d.html create mode 100644 CodeCoverageReport/ns-1/sources/source-1e.html create mode 100644 CodeCoverageReport/ns-1/sources/source-2.html create mode 100644 CodeCoverageReport/ns-1/sources/source-3.html create mode 100644 CodeCoverageReport/ns-1/sources/source-4.html create mode 100644 CodeCoverageReport/ns-1/sources/source-5.html create mode 100644 CodeCoverageReport/ns-1/sources/source-6.html create mode 100644 CodeCoverageReport/ns-1/sources/source-7.html create mode 100644 CodeCoverageReport/ns-1/sources/source-8.html create mode 100644 CodeCoverageReport/ns-1/sources/source-9.html create mode 100644 CodeCoverageReport/ns-1/sources/source-a.html create mode 100644 CodeCoverageReport/ns-1/sources/source-b.html create mode 100644 CodeCoverageReport/ns-1/sources/source-c.html create mode 100644 CodeCoverageReport/ns-1/sources/source-d.html create mode 100644 CodeCoverageReport/ns-1/sources/source-e.html create mode 100644 CodeCoverageReport/ns-1/sources/source-f.html create mode 100644 CodeCoverageReport/ns-2/index.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-2/sources/source-1.html create mode 100644 CodeCoverageReport/ns-2/sources/source-2.html create mode 100644 CodeCoverageReport/ns-2/sources/source-3.html create mode 100644 CodeCoverageReport/ns-2/sources/source-4.html create mode 100644 CodeCoverageReport/ns-2/sources/source-5.html create mode 100644 CodeCoverageReport/ns-2/sources/source-6.html create mode 100644 CodeCoverageReport/ns-2/sources/source-7.html create mode 100644 CodeCoverageReport/ns-3/index.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-3/sources/source-1.html create mode 100644 CodeCoverageReport/ns-3/sources/source-2.html create mode 100644 CodeCoverageReport/ns-3/sources/source-3.html create mode 100644 CodeCoverageReport/ns-3/sources/source-4.html create mode 100644 CodeCoverageReport/ns-3/sources/source-5.html create mode 100644 CodeCoverageReport/ns-3/sources/source-6.html create mode 100644 CodeCoverageReport/ns-3/sources/source-7.html create mode 100644 CodeCoverageReport/ns-3/sources/source-8.html create mode 100644 CodeCoverageReport/ns-3/sources/source-9.html create mode 100644 CodeCoverageReport/ns-3/sources/source-a.html create mode 100644 CodeCoverageReport/ns-3/sources/source-b.html create mode 100644 CodeCoverageReport/ns-3/sources/source-c.html create mode 100644 CodeCoverageReport/ns-3/sources/source-d.html create mode 100644 CodeCoverageReport/ns-4/index.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-4/sources/source-1.html create mode 100644 CodeCoverageReport/ns-4/sources/source-10.html create mode 100644 CodeCoverageReport/ns-4/sources/source-11.html create mode 100644 CodeCoverageReport/ns-4/sources/source-12.html create mode 100644 CodeCoverageReport/ns-4/sources/source-13.html create mode 100644 CodeCoverageReport/ns-4/sources/source-14.html create mode 100644 CodeCoverageReport/ns-4/sources/source-15.html create mode 100644 CodeCoverageReport/ns-4/sources/source-16.html create mode 100644 CodeCoverageReport/ns-4/sources/source-2.html create mode 100644 CodeCoverageReport/ns-4/sources/source-3.html create mode 100644 CodeCoverageReport/ns-4/sources/source-4.html create mode 100644 CodeCoverageReport/ns-4/sources/source-5.html create mode 100644 CodeCoverageReport/ns-4/sources/source-6.html create mode 100644 CodeCoverageReport/ns-4/sources/source-7.html create mode 100644 CodeCoverageReport/ns-4/sources/source-8.html create mode 100644 CodeCoverageReport/ns-4/sources/source-9.html create mode 100644 CodeCoverageReport/ns-4/sources/source-a.html create mode 100644 CodeCoverageReport/ns-4/sources/source-b.html create mode 100644 CodeCoverageReport/ns-4/sources/source-c.html create mode 100644 CodeCoverageReport/ns-4/sources/source-d.html create mode 100644 CodeCoverageReport/ns-4/sources/source-e.html create mode 100644 CodeCoverageReport/ns-4/sources/source-f.html create mode 100644 CodeCoverageReport/ns-5/index.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-5/sources/source-1.html create mode 100644 CodeCoverageReport/ns-5/sources/source-2.html create mode 100644 CodeCoverageReport/ns-5/sources/source-3.html create mode 100644 CodeCoverageReport/ns-5/sources/source-4.html create mode 100644 CodeCoverageReport/ns-5/sources/source-5.html create mode 100644 CodeCoverageReport/ns-5/sources/source-6.html create mode 100644 CodeCoverageReport/ns-5/sources/source-7.html create mode 100644 CodeCoverageReport/ns-6/index.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-6/sources/source-1.html create mode 100644 CodeCoverageReport/ns-6/sources/source-2.html create mode 100644 CodeCoverageReport/ns-6/sources/source-3.html create mode 100644 CodeCoverageReport/ns-6/sources/source-4.html create mode 100644 CodeCoverageReport/ns-6/sources/source-5.html create mode 100644 CodeCoverageReport/ns-6/sources/source-6.html create mode 100644 CodeCoverageReport/ns-6/sources/source-7.html create mode 100644 CodeCoverageReport/ns-7/index.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_LINE.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html create mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1.html create mode 100644 CodeCoverageReport/ns-7/sources/source-10.html create mode 100644 CodeCoverageReport/ns-7/sources/source-11.html create mode 100644 CodeCoverageReport/ns-7/sources/source-12.html create mode 100644 CodeCoverageReport/ns-7/sources/source-13.html create mode 100644 CodeCoverageReport/ns-7/sources/source-14.html create mode 100644 CodeCoverageReport/ns-7/sources/source-15.html create mode 100644 CodeCoverageReport/ns-7/sources/source-16.html create mode 100644 CodeCoverageReport/ns-7/sources/source-17.html create mode 100644 CodeCoverageReport/ns-7/sources/source-18.html create mode 100644 CodeCoverageReport/ns-7/sources/source-19.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1a.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1b.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1c.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1d.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1e.html create mode 100644 CodeCoverageReport/ns-7/sources/source-1f.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2.html create mode 100644 CodeCoverageReport/ns-7/sources/source-20.html create mode 100644 CodeCoverageReport/ns-7/sources/source-21.html create mode 100644 CodeCoverageReport/ns-7/sources/source-22.html create mode 100644 CodeCoverageReport/ns-7/sources/source-23.html create mode 100644 CodeCoverageReport/ns-7/sources/source-24.html create mode 100644 CodeCoverageReport/ns-7/sources/source-25.html create mode 100644 CodeCoverageReport/ns-7/sources/source-26.html create mode 100644 CodeCoverageReport/ns-7/sources/source-27.html create mode 100644 CodeCoverageReport/ns-7/sources/source-28.html create mode 100644 CodeCoverageReport/ns-7/sources/source-29.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2a.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2b.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2c.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2d.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2e.html create mode 100644 CodeCoverageReport/ns-7/sources/source-2f.html create mode 100644 CodeCoverageReport/ns-7/sources/source-3.html create mode 100644 CodeCoverageReport/ns-7/sources/source-30.html create mode 100644 CodeCoverageReport/ns-7/sources/source-31.html create mode 100644 CodeCoverageReport/ns-7/sources/source-32.html create mode 100644 CodeCoverageReport/ns-7/sources/source-33.html create mode 100644 CodeCoverageReport/ns-7/sources/source-34.html create mode 100644 CodeCoverageReport/ns-7/sources/source-35.html create mode 100644 CodeCoverageReport/ns-7/sources/source-36.html create mode 100644 CodeCoverageReport/ns-7/sources/source-37.html create mode 100644 CodeCoverageReport/ns-7/sources/source-38.html create mode 100644 CodeCoverageReport/ns-7/sources/source-39.html create mode 100644 CodeCoverageReport/ns-7/sources/source-3a.html create mode 100644 CodeCoverageReport/ns-7/sources/source-4.html create mode 100644 CodeCoverageReport/ns-7/sources/source-5.html create mode 100644 CodeCoverageReport/ns-7/sources/source-6.html create mode 100644 CodeCoverageReport/ns-7/sources/source-7.html create mode 100644 CodeCoverageReport/ns-7/sources/source-8.html create mode 100644 CodeCoverageReport/ns-7/sources/source-9.html create mode 100644 CodeCoverageReport/ns-7/sources/source-a.html create mode 100644 CodeCoverageReport/ns-7/sources/source-b.html create mode 100644 CodeCoverageReport/ns-7/sources/source-c.html create mode 100644 CodeCoverageReport/ns-7/sources/source-d.html create mode 100644 CodeCoverageReport/ns-7/sources/source-e.html create mode 100644 CodeCoverageReport/ns-7/sources/source-f.html diff --git a/.VSCodeCounter/2023-10-31_13-57-36/details.md b/.VSCodeCounter/2023-10-31_13-57-36/details.md new file mode 100644 index 000000000..1fa982f18 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/details.md @@ -0,0 +1,227 @@ +# Details + +Date : 2023-10-31 13:57:36 + +Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src + +Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [src/main/java/com/google/maps/DirectionsApi.java](/src/main/java/com/google/maps/DirectionsApi.java) | Java | 61 | 55 | 20 | 136 | +| [src/main/java/com/google/maps/DirectionsApiRequest.java](/src/main/java/com/google/maps/DirectionsApiRequest.java) | Java | 166 | 216 | 37 | 419 | +| [src/main/java/com/google/maps/DistanceMatrixApi.java](/src/main/java/com/google/maps/DistanceMatrixApi.java) | Java | 39 | 32 | 11 | 82 | +| [src/main/java/com/google/maps/DistanceMatrixApiRequest.java](/src/main/java/com/google/maps/DistanceMatrixApiRequest.java) | Java | 74 | 113 | 19 | 206 | +| [src/main/java/com/google/maps/ElevationApi.java](/src/main/java/com/google/maps/ElevationApi.java) | Java | 90 | 64 | 20 | 174 | +| [src/main/java/com/google/maps/FindPlaceFromTextRequest.java](/src/main/java/com/google/maps/FindPlaceFromTextRequest.java) | Java | 141 | 40 | 35 | 216 | +| [src/main/java/com/google/maps/GaeRequestHandler.java](/src/main/java/com/google/maps/GaeRequestHandler.java) | Java | 128 | 21 | 19 | 168 | +| [src/main/java/com/google/maps/GeoApiContext.java](/src/main/java/com/google/maps/GeoApiContext.java) | Java | 381 | 180 | 72 | 633 | +| [src/main/java/com/google/maps/GeocodingApi.java](/src/main/java/com/google/maps/GeocodingApi.java) | Java | 41 | 43 | 11 | 95 | +| [src/main/java/com/google/maps/GeocodingApiRequest.java](/src/main/java/com/google/maps/GeocodingApiRequest.java) | Java | 55 | 83 | 17 | 155 | +| [src/main/java/com/google/maps/GeolocationApi.java](/src/main/java/com/google/maps/GeolocationApi.java) | Java | 52 | 23 | 12 | 87 | +| [src/main/java/com/google/maps/GeolocationApiRequest.java](/src/main/java/com/google/maps/GeolocationApiRequest.java) | Java | 74 | 17 | 18 | 109 | +| [src/main/java/com/google/maps/ImageResult.java](/src/main/java/com/google/maps/ImageResult.java) | Java | 27 | 21 | 11 | 59 | +| [src/main/java/com/google/maps/NearbySearchRequest.java](/src/main/java/com/google/maps/NearbySearchRequest.java) | Java | 104 | 100 | 27 | 231 | +| [src/main/java/com/google/maps/NearestRoadsApiRequest.java](/src/main/java/com/google/maps/NearestRoadsApiRequest.java) | Java | 27 | 7 | 7 | 41 | +| [src/main/java/com/google/maps/OkHttpRequestHandler.java](/src/main/java/com/google/maps/OkHttpRequestHandler.java) | Java | 155 | 28 | 21 | 204 | +| [src/main/java/com/google/maps/PendingResult.java](/src/main/java/com/google/maps/PendingResult.java) | Java | 13 | 58 | 11 | 82 | +| [src/main/java/com/google/maps/PendingResultBase.java](/src/main/java/com/google/maps/PendingResultBase.java) | Java | 119 | 61 | 24 | 204 | +| [src/main/java/com/google/maps/PhotoRequest.java](/src/main/java/com/google/maps/PhotoRequest.java) | Java | 27 | 39 | 10 | 76 | +| [src/main/java/com/google/maps/PlaceAutocompleteRequest.java](/src/main/java/com/google/maps/PlaceAutocompleteRequest.java) | Java | 99 | 109 | 30 | 238 | +| [src/main/java/com/google/maps/PlaceDetailsRequest.java](/src/main/java/com/google/maps/PlaceDetailsRequest.java) | Java | 135 | 60 | 21 | 216 | +| [src/main/java/com/google/maps/PlacesApi.java](/src/main/java/com/google/maps/PlacesApi.java) | Java | 74 | 137 | 17 | 228 | +| [src/main/java/com/google/maps/QueryAutocompleteRequest.java](/src/main/java/com/google/maps/QueryAutocompleteRequest.java) | Java | 55 | 48 | 15 | 118 | +| [src/main/java/com/google/maps/RoadsApi.java](/src/main/java/com/google/maps/RoadsApi.java) | Java | 64 | 80 | 18 | 162 | +| [src/main/java/com/google/maps/SnapToRoadsApiRequest.java](/src/main/java/com/google/maps/SnapToRoadsApiRequest.java) | Java | 30 | 13 | 8 | 51 | +| [src/main/java/com/google/maps/SpeedLimitsApiRequest.java](/src/main/java/com/google/maps/SpeedLimitsApiRequest.java) | Java | 33 | 13 | 8 | 54 | +| [src/main/java/com/google/maps/StaticMapsApi.java](/src/main/java/com/google/maps/StaticMapsApi.java) | Java | 8 | 21 | 6 | 35 | +| [src/main/java/com/google/maps/StaticMapsRequest.java](/src/main/java/com/google/maps/StaticMapsRequest.java) | Java | 224 | 182 | 65 | 471 | +| [src/main/java/com/google/maps/TextSearchRequest.java](/src/main/java/com/google/maps/TextSearchRequest.java) | Java | 96 | 91 | 26 | 213 | +| [src/main/java/com/google/maps/TimeZoneApi.java](/src/main/java/com/google/maps/TimeZoneApi.java) | Java | 44 | 30 | 11 | 85 | +| [src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java](/src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java) | Java | 12 | 7 | 6 | 25 | +| [src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java](/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java) | Java | 11 | 5 | 4 | 20 | +| [src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java](/src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java) | Java | 29 | 5 | 10 | 44 | +| [src/main/java/com/google/maps/android/CertificateHelper.java](/src/main/java/com/google/maps/android/CertificateHelper.java) | Java | 45 | 8 | 8 | 61 | +| [src/main/java/com/google/maps/android/Context.java](/src/main/java/com/google/maps/android/Context.java) | Java | 67 | 17 | 10 | 94 | +| [src/main/java/com/google/maps/android/PackageInfo.java](/src/main/java/com/google/maps/android/PackageInfo.java) | Java | 25 | 2 | 5 | 32 | +| [src/main/java/com/google/maps/android/PackageManager.java](/src/main/java/com/google/maps/android/PackageManager.java) | Java | 27 | 10 | 5 | 42 | +| [src/main/java/com/google/maps/errors/AccessNotConfiguredException.java](/src/main/java/com/google/maps/errors/AccessNotConfiguredException.java) | Java | 7 | 18 | 5 | 30 | +| [src/main/java/com/google/maps/errors/ApiError.java](/src/main/java/com/google/maps/errors/ApiError.java) | Java | 6 | 15 | 3 | 24 | +| [src/main/java/com/google/maps/errors/ApiException.java](/src/main/java/com/google/maps/errors/ApiException.java) | Java | 58 | 31 | 8 | 97 | +| [src/main/java/com/google/maps/errors/InvalidRequestException.java](/src/main/java/com/google/maps/errors/InvalidRequestException.java) | Java | 7 | 15 | 5 | 27 | +| [src/main/java/com/google/maps/errors/MaxElementsExceededException.java](/src/main/java/com/google/maps/errors/MaxElementsExceededException.java) | Java | 7 | 20 | 5 | 32 | +| [src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java](/src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java) | Java | 7 | 23 | 5 | 35 | +| [src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java](/src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java) | Java | 7 | 20 | 4 | 31 | +| [src/main/java/com/google/maps/errors/NotFoundException.java](/src/main/java/com/google/maps/errors/NotFoundException.java) | Java | 7 | 18 | 5 | 30 | +| [src/main/java/com/google/maps/errors/OverDailyLimitException.java](/src/main/java/com/google/maps/errors/OverDailyLimitException.java) | Java | 7 | 15 | 5 | 27 | +| [src/main/java/com/google/maps/errors/OverQueryLimitException.java](/src/main/java/com/google/maps/errors/OverQueryLimitException.java) | Java | 7 | 15 | 5 | 27 | +| [src/main/java/com/google/maps/errors/RequestDeniedException.java](/src/main/java/com/google/maps/errors/RequestDeniedException.java) | Java | 7 | 15 | 4 | 26 | +| [src/main/java/com/google/maps/errors/UnknownErrorException.java](/src/main/java/com/google/maps/errors/UnknownErrorException.java) | Java | 7 | 17 | 5 | 29 | +| [src/main/java/com/google/maps/errors/ZeroResultsException.java](/src/main/java/com/google/maps/errors/ZeroResultsException.java) | Java | 7 | 21 | 5 | 33 | +| [src/main/java/com/google/maps/internal/ApiConfig.java](/src/main/java/com/google/maps/internal/ApiConfig.java) | Java | 28 | 15 | 9 | 52 | +| [src/main/java/com/google/maps/internal/ApiResponse.java](/src/main/java/com/google/maps/internal/ApiResponse.java) | Java | 7 | 15 | 6 | 28 | +| [src/main/java/com/google/maps/internal/DayOfWeekAdapter.java](/src/main/java/com/google/maps/internal/DayOfWeekAdapter.java) | Java | 40 | 22 | 9 | 71 | +| [src/main/java/com/google/maps/internal/DistanceAdapter.java](/src/main/java/com/google/maps/internal/DistanceAdapter.java) | Java | 32 | 33 | 9 | 74 | +| [src/main/java/com/google/maps/internal/DurationAdapter.java](/src/main/java/com/google/maps/internal/DurationAdapter.java) | Java | 33 | 34 | 9 | 76 | +| [src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java](/src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java) | Java | 14 | 14 | 6 | 34 | +| [src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java](/src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java) | Java | 19 | 14 | 8 | 41 | +| [src/main/java/com/google/maps/internal/FareAdapter.java](/src/main/java/com/google/maps/internal/FareAdapter.java) | Java | 36 | 26 | 8 | 70 | +| [src/main/java/com/google/maps/internal/GaePendingResult.java](/src/main/java/com/google/maps/internal/GaePendingResult.java) | Java | 199 | 44 | 24 | 267 | +| [src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java](/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java) | Java | 67 | 60 | 7 | 134 | +| [src/main/java/com/google/maps/internal/HttpHeaders.java](/src/main/java/com/google/maps/internal/HttpHeaders.java) | Java | 7 | 19 | 7 | 33 | +| [src/main/java/com/google/maps/internal/InstantAdapter.java](/src/main/java/com/google/maps/internal/InstantAdapter.java) | Java | 24 | 18 | 8 | 50 | +| [src/main/java/com/google/maps/internal/LatLngAdapter.java](/src/main/java/com/google/maps/internal/LatLngAdapter.java) | Java | 41 | 29 | 8 | 78 | +| [src/main/java/com/google/maps/internal/LocalTimeAdapter.java](/src/main/java/com/google/maps/internal/LocalTimeAdapter.java) | Java | 26 | 17 | 7 | 50 | +| [src/main/java/com/google/maps/internal/OkHttpPendingResult.java](/src/main/java/com/google/maps/internal/OkHttpPendingResult.java) | Java | 260 | 50 | 35 | 345 | +| [src/main/java/com/google/maps/internal/PolylineEncoding.java](/src/main/java/com/google/maps/internal/PolylineEncoding.java) | Java | 62 | 24 | 18 | 104 | +| [src/main/java/com/google/maps/internal/PriceLevelAdapter.java](/src/main/java/com/google/maps/internal/PriceLevelAdapter.java) | Java | 36 | 22 | 9 | 67 | +| [src/main/java/com/google/maps/internal/RateLimitExecutorService.java](/src/main/java/com/google/maps/internal/RateLimitExecutorService.java) | Java | 138 | 24 | 26 | 188 | +| [src/main/java/com/google/maps/internal/SafeEnumAdapter.java](/src/main/java/com/google/maps/internal/SafeEnumAdapter.java) | Java | 37 | 22 | 10 | 69 | +| [src/main/java/com/google/maps/internal/StringJoin.java](/src/main/java/com/google/maps/internal/StringJoin.java) | Java | 42 | 20 | 12 | 74 | +| [src/main/java/com/google/maps/internal/UrlSigner.java](/src/main/java/com/google/maps/internal/UrlSigner.java) | Java | 31 | 25 | 10 | 66 | +| [src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java](/src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java) | Java | 38 | 36 | 9 | 83 | +| [src/main/java/com/google/maps/internal/ratelimiter/LongMath.java](/src/main/java/com/google/maps/internal/ratelimiter/LongMath.java) | Java | 12 | 41 | 4 | 57 | +| [src/main/java/com/google/maps/internal/ratelimiter/Platform.java](/src/main/java/com/google/maps/internal/ratelimiter/Platform.java) | Java | 11 | 36 | 6 | 53 | +| [src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java](/src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java) | Java | 54 | 85 | 12 | 151 | +| [src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java](/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java) | Java | 161 | 254 | 36 | 451 | +| [src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java](/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java) | Java | 130 | 241 | 31 | 402 | +| [src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java](/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java) | Java | 110 | 111 | 22 | 243 | +| [src/main/java/com/google/maps/internal/ratelimiter/Ticker.java](/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java) | Java | 15 | 39 | 6 | 60 | +| [src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java](/src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java) | Java | 7 | 1 | 6 | 14 | +| [src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java) | Java | 7 | 1 | 4 | 12 | +| [src/main/java/com/google/maps/metrics/OpenCensusMetrics.java](/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java) | Java | 103 | 4 | 22 | 129 | +| [src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java](/src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java) | Java | 63 | 2 | 11 | 76 | +| [src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java) | Java | 14 | 1 | 5 | 20 | +| [src/main/java/com/google/maps/metrics/RequestMetrics.java](/src/main/java/com/google/maps/metrics/RequestMetrics.java) | Java | 6 | 17 | 5 | 28 | +| [src/main/java/com/google/maps/metrics/RequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/RequestMetricsReporter.java) | Java | 4 | 1 | 3 | 8 | +| [src/main/java/com/google/maps/model/AddressComponent.java](/src/main/java/com/google/maps/model/AddressComponent.java) | Java | 20 | 29 | 10 | 59 | +| [src/main/java/com/google/maps/model/AddressComponentType.java](/src/main/java/com/google/maps/model/AddressComponentType.java) | Java | 94 | 128 | 82 | 304 | +| [src/main/java/com/google/maps/model/AddressType.java](/src/main/java/com/google/maps/model/AddressType.java) | Java | 162 | 190 | 144 | 496 | +| [src/main/java/com/google/maps/model/AutocompletePrediction.java](/src/main/java/com/google/maps/model/AutocompletePrediction.java) | Java | 44 | 56 | 23 | 123 | +| [src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java](/src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java) | Java | 20 | 18 | 9 | 47 | +| [src/main/java/com/google/maps/model/Bounds.java](/src/main/java/com/google/maps/model/Bounds.java) | Java | 11 | 17 | 6 | 34 | +| [src/main/java/com/google/maps/model/CellTower.java](/src/main/java/com/google/maps/model/CellTower.java) | Java | 89 | 47 | 17 | 153 | +| [src/main/java/com/google/maps/model/ComponentFilter.java](/src/main/java/com/google/maps/model/ComponentFilter.java) | Java | 34 | 59 | 13 | 106 | +| [src/main/java/com/google/maps/model/DirectionsLeg.java](/src/main/java/com/google/maps/model/DirectionsLeg.java) | Java | 37 | 66 | 16 | 119 | +| [src/main/java/com/google/maps/model/DirectionsResult.java](/src/main/java/com/google/maps/model/DirectionsResult.java) | Java | 7 | 30 | 7 | 44 | +| [src/main/java/com/google/maps/model/DirectionsRoute.java](/src/main/java/com/google/maps/model/DirectionsRoute.java) | Java | 29 | 50 | 13 | 92 | +| [src/main/java/com/google/maps/model/DirectionsStep.java](/src/main/java/com/google/maps/model/DirectionsStep.java) | Java | 32 | 58 | 16 | 106 | +| [src/main/java/com/google/maps/model/Distance.java](/src/main/java/com/google/maps/model/Distance.java) | Java | 11 | 23 | 8 | 42 | +| [src/main/java/com/google/maps/model/DistanceMatrix.java](/src/main/java/com/google/maps/model/DistanceMatrix.java) | Java | 20 | 32 | 10 | 62 | +| [src/main/java/com/google/maps/model/DistanceMatrixElement.java](/src/main/java/com/google/maps/model/DistanceMatrixElement.java) | Java | 24 | 40 | 11 | 75 | +| [src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java](/src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java) | Java | 6 | 24 | 5 | 35 | +| [src/main/java/com/google/maps/model/DistanceMatrixRow.java](/src/main/java/com/google/maps/model/DistanceMatrixRow.java) | Java | 10 | 19 | 7 | 36 | +| [src/main/java/com/google/maps/model/Duration.java](/src/main/java/com/google/maps/model/Duration.java) | Java | 11 | 20 | 8 | 39 | +| [src/main/java/com/google/maps/model/ElevationResult.java](/src/main/java/com/google/maps/model/ElevationResult.java) | Java | 12 | 22 | 7 | 41 | +| [src/main/java/com/google/maps/model/EncodedPolyline.java](/src/main/java/com/google/maps/model/EncodedPolyline.java) | Java | 27 | 26 | 12 | 65 | +| [src/main/java/com/google/maps/model/Fare.java](/src/main/java/com/google/maps/model/Fare.java) | Java | 13 | 22 | 8 | 43 | +| [src/main/java/com/google/maps/model/FindPlaceFromText.java](/src/main/java/com/google/maps/model/FindPlaceFromText.java) | Java | 10 | 14 | 7 | 31 | +| [src/main/java/com/google/maps/model/GeocodedWaypoint.java](/src/main/java/com/google/maps/model/GeocodedWaypoint.java) | Java | 21 | 27 | 10 | 58 | +| [src/main/java/com/google/maps/model/GeocodedWaypointStatus.java](/src/main/java/com/google/maps/model/GeocodedWaypointStatus.java) | Java | 5 | 22 | 4 | 31 | +| [src/main/java/com/google/maps/model/GeocodingResult.java](/src/main/java/com/google/maps/model/GeocodingResult.java) | Java | 31 | 52 | 14 | 97 | +| [src/main/java/com/google/maps/model/GeolocationPayload.java](/src/main/java/com/google/maps/model/GeolocationPayload.java) | Java | 123 | 44 | 22 | 189 | +| [src/main/java/com/google/maps/model/GeolocationResult.java](/src/main/java/com/google/maps/model/GeolocationResult.java) | Java | 11 | 28 | 6 | 45 | +| [src/main/java/com/google/maps/model/Geometry.java](/src/main/java/com/google/maps/model/Geometry.java) | Java | 14 | 30 | 9 | 53 | +| [src/main/java/com/google/maps/model/LatLng.java](/src/main/java/com/google/maps/model/LatLng.java) | Java | 34 | 25 | 13 | 72 | +| [src/main/java/com/google/maps/model/LocationType.java](/src/main/java/com/google/maps/model/LocationType.java) | Java | 16 | 37 | 9 | 62 | +| [src/main/java/com/google/maps/model/OpeningHours.java](/src/main/java/com/google/maps/model/OpeningHours.java) | Java | 79 | 55 | 30 | 164 | +| [src/main/java/com/google/maps/model/Photo.java](/src/main/java/com/google/maps/model/Photo.java) | Java | 18 | 24 | 9 | 51 | +| [src/main/java/com/google/maps/model/PlaceAutocompleteType.java](/src/main/java/com/google/maps/model/PlaceAutocompleteType.java) | Java | 21 | 18 | 8 | 47 | +| [src/main/java/com/google/maps/model/PlaceDetails.java](/src/main/java/com/google/maps/model/PlaceDetails.java) | Java | 196 | 139 | 70 | 405 | +| [src/main/java/com/google/maps/model/PlaceEditorialSummary.java](/src/main/java/com/google/maps/model/PlaceEditorialSummary.java) | Java | 19 | 21 | 8 | 48 | +| [src/main/java/com/google/maps/model/PlaceIdScope.java](/src/main/java/com/google/maps/model/PlaceIdScope.java) | Java | 6 | 20 | 3 | 29 | +| [src/main/java/com/google/maps/model/PlaceType.java](/src/main/java/com/google/maps/model/PlaceType.java) | Java | 125 | 15 | 8 | 148 | +| [src/main/java/com/google/maps/model/PlacesSearchResponse.java](/src/main/java/com/google/maps/model/PlacesSearchResponse.java) | Java | 21 | 30 | 9 | 60 | +| [src/main/java/com/google/maps/model/PlacesSearchResult.java](/src/main/java/com/google/maps/model/PlacesSearchResult.java) | Java | 56 | 43 | 20 | 119 | +| [src/main/java/com/google/maps/model/PlusCode.java](/src/main/java/com/google/maps/model/PlusCode.java) | Java | 17 | 17 | 8 | 42 | +| [src/main/java/com/google/maps/model/PriceLevel.java](/src/main/java/com/google/maps/model/PriceLevel.java) | Java | 25 | 19 | 9 | 53 | +| [src/main/java/com/google/maps/model/RankBy.java](/src/main/java/com/google/maps/model/RankBy.java) | Java | 18 | 15 | 8 | 41 | +| [src/main/java/com/google/maps/model/Size.java](/src/main/java/com/google/maps/model/Size.java) | Java | 21 | 23 | 10 | 54 | +| [src/main/java/com/google/maps/model/SnappedPoint.java](/src/main/java/com/google/maps/model/SnappedPoint.java) | Java | 12 | 31 | 8 | 51 | +| [src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java](/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java) | Java | 19 | 17 | 8 | 44 | +| [src/main/java/com/google/maps/model/SpeedLimit.java](/src/main/java/com/google/maps/model/SpeedLimit.java) | Java | 14 | 25 | 8 | 47 | +| [src/main/java/com/google/maps/model/StopDetails.java](/src/main/java/com/google/maps/model/StopDetails.java) | Java | 11 | 23 | 8 | 42 | +| [src/main/java/com/google/maps/model/TrafficModel.java](/src/main/java/com/google/maps/model/TrafficModel.java) | Java | 16 | 15 | 6 | 37 | +| [src/main/java/com/google/maps/model/TransitAgency.java](/src/main/java/com/google/maps/model/TransitAgency.java) | Java | 21 | 24 | 9 | 54 | +| [src/main/java/com/google/maps/model/TransitDetails.java](/src/main/java/com/google/maps/model/TransitDetails.java) | Java | 31 | 39 | 14 | 84 | +| [src/main/java/com/google/maps/model/TransitLine.java](/src/main/java/com/google/maps/model/TransitLine.java) | Java | 17 | 38 | 14 | 69 | +| [src/main/java/com/google/maps/model/TransitMode.java](/src/main/java/com/google/maps/model/TransitMode.java) | Java | 18 | 16 | 7 | 41 | +| [src/main/java/com/google/maps/model/TransitRoutingPreference.java](/src/main/java/com/google/maps/model/TransitRoutingPreference.java) | Java | 15 | 1 | 5 | 21 | +| [src/main/java/com/google/maps/model/TravelMode.java](/src/main/java/com/google/maps/model/TravelMode.java) | Java | 21 | 27 | 7 | 55 | +| [src/main/java/com/google/maps/model/Unit.java](/src/main/java/com/google/maps/model/Unit.java) | Java | 15 | 15 | 6 | 36 | +| [src/main/java/com/google/maps/model/Vehicle.java](/src/main/java/com/google/maps/model/Vehicle.java) | Java | 13 | 28 | 10 | 51 | +| [src/main/java/com/google/maps/model/VehicleType.java](/src/main/java/com/google/maps/model/VehicleType.java) | Java | 21 | 47 | 21 | 89 | +| [src/main/java/com/google/maps/model/WifiAccessPoint.java](/src/main/java/com/google/maps/model/WifiAccessPoint.java) | Java | 74 | 34 | 15 | 123 | +| [src/test/java/com/google/maps/DirectionsApiTest.java](/src/test/java/com/google/maps/DirectionsApiTest.java) | Java | 456 | 72 | 61 | 589 | +| [src/test/java/com/google/maps/DistanceMatrixApiTest.java](/src/test/java/com/google/maps/DistanceMatrixApiTest.java) | Java | 166 | 26 | 24 | 216 | +| [src/test/java/com/google/maps/ElevationApiTest.java](/src/test/java/com/google/maps/ElevationApiTest.java) | Java | 238 | 16 | 25 | 279 | +| [src/test/java/com/google/maps/GeoApiContextTest.java](/src/test/java/com/google/maps/GeoApiContextTest.java) | Java | 324 | 47 | 68 | 439 | +| [src/test/java/com/google/maps/GeocodingApiTest.java](/src/test/java/com/google/maps/GeocodingApiTest.java) | Java | 1,043 | 74 | 71 | 1,188 | +| [src/test/java/com/google/maps/GeolocationApiTest.java](/src/test/java/com/google/maps/GeolocationApiTest.java) | Java | 388 | 14 | 37 | 439 | +| [src/test/java/com/google/maps/LargeTests.java](/src/test/java/com/google/maps/LargeTests.java) | Java | 2 | 15 | 3 | 20 | +| [src/test/java/com/google/maps/LocalTestServerContext.java](/src/test/java/com/google/maps/LocalTestServerContext.java) | Java | 113 | 16 | 21 | 150 | +| [src/test/java/com/google/maps/MediumTests.java](/src/test/java/com/google/maps/MediumTests.java) | Java | 2 | 15 | 3 | 20 | +| [src/test/java/com/google/maps/PlacesApiTest.java](/src/test/java/com/google/maps/PlacesApiTest.java) | Java | 878 | 24 | 129 | 1,031 | +| [src/test/java/com/google/maps/RoadsApiIntegrationTest.java](/src/test/java/com/google/maps/RoadsApiIntegrationTest.java) | Java | 165 | 14 | 22 | 201 | +| [src/test/java/com/google/maps/SmallTests.java](/src/test/java/com/google/maps/SmallTests.java) | Java | 2 | 15 | 3 | 20 | +| [src/test/java/com/google/maps/StaticMapsApiTest.java](/src/test/java/com/google/maps/StaticMapsApiTest.java) | Java | 224 | 15 | 35 | 274 | +| [src/test/java/com/google/maps/TestUtils.java](/src/test/java/com/google/maps/TestUtils.java) | Java | 31 | 14 | 6 | 51 | +| [src/test/java/com/google/maps/TimeZoneApiTest.java](/src/test/java/com/google/maps/TimeZoneApiTest.java) | Java | 49 | 16 | 13 | 78 | +| [src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java](/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java) | Java | 40 | 0 | 13 | 53 | +| [src/test/java/com/google/maps/internal/PolylineEncodingTest.java](/src/test/java/com/google/maps/internal/PolylineEncodingTest.java) | Java | 44 | 15 | 9 | 68 | +| [src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java](/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java) | Java | 79 | 19 | 13 | 111 | +| [src/test/java/com/google/maps/internal/UrlSignerTest.java](/src/test/java/com/google/maps/internal/UrlSignerTest.java) | Java | 64 | 19 | 13 | 96 | +| [src/test/java/com/google/maps/metrics/OpenCensusTest.java](/src/test/java/com/google/maps/metrics/OpenCensusTest.java) | Java | 107 | 0 | 16 | 123 | +| [src/test/java/com/google/maps/model/EnumsTest.java](/src/test/java/com/google/maps/model/EnumsTest.java) | Java | 296 | 17 | 12 | 325 | +| [src/test/java/com/google/maps/model/LatLngAssert.java](/src/test/java/com/google/maps/model/LatLngAssert.java) | Java | 9 | 15 | 6 | 30 | +| [src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json](/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json) | JSON | 50 | 0 | 1 | 51 | +| [src/test/resources/com/google/maps/DirectionsAlongPath.json](/src/test/resources/com/google/maps/DirectionsAlongPath.json) | JSON | 805 | 0 | 0 | 805 | +| [src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json](/src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json) | JSON | 17 | 0 | 0 | 17 | +| [src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json](/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json) | JSON | 40 | 0 | 2 | 42 | +| [src/test/resources/com/google/maps/GeocodeLibraryType.json](/src/test/resources/com/google/maps/GeocodeLibraryType.json) | JSON | 74 | 0 | 2 | 76 | +| [src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json](/src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationBasicResponse.json](/src/test/resources/com/google/maps/GeolocationBasicResponse.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationDocSampleResponse.json](/src/test/resources/com/google/maps/GeolocationDocSampleResponse.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationMaximumCellTower.json](/src/test/resources/com/google/maps/GeolocationMaximumCellTower.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json](/src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json](/src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json](/src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json) | JSON | 7 | 0 | 0 | 7 | +| [src/test/resources/com/google/maps/GetDirectionsResponse.json](/src/test/resources/com/google/maps/GetDirectionsResponse.json) | JSON | 37 | 0 | 0 | 37 | +| [src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json](/src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json) | JSON | 494 | 0 | 0 | 494 | +| [src/test/resources/com/google/maps/OverQueryLimitResponse.json](/src/test/resources/com/google/maps/OverQueryLimitResponse.json) | JSON | 4 | 0 | 1 | 5 | +| [src/test/resources/com/google/maps/PlaceDetailsFood.json](/src/test/resources/com/google/maps/PlaceDetailsFood.json) | JSON | 20 | 0 | 1 | 21 | +| [src/test/resources/com/google/maps/PlaceDetailsResponse.json](/src/test/resources/com/google/maps/PlaceDetailsResponse.json) | JSON | 274 | 0 | 1 | 275 | +| [src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json](/src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json) | JSON | 7 | 0 | 1 | 8 | +| [src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json](/src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json) | JSON | 7 | 0 | 1 | 8 | +| [src/test/resources/com/google/maps/PlaceGeocodeResponse.json](/src/test/resources/com/google/maps/PlaceGeocodeResponse.json) | JSON | 68 | 0 | 0 | 68 | +| [src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json](/src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json) | JSON | 342 | 0 | 0 | 342 | +| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json) | JSON | 939 | 0 | 1 | 940 | +| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json) | JSON | 3,004 | 0 | 1 | 3,005 | +| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json) | JSON | 3,569 | 0 | 0 | 3,569 | +| [src/test/resources/com/google/maps/PlacesApiPhotoResponse.json](/src/test/resources/com/google/maps/PlacesApiPhotoResponse.json) | JSON | 319 | 0 | 1 | 320 | +| [src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json](/src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json) | JSON | 942 | 0 | 0 | 942 | +| [src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json](/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json) | JSON | 293 | 0 | 1 | 294 | +| [src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json](/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json) | JSON | 227 | 0 | 0 | 227 | +| [src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json](/src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json) | JSON | 178 | 0 | 1 | 179 | +| [src/test/resources/com/google/maps/QueryAutocompleteResponse.json](/src/test/resources/com/google/maps/QueryAutocompleteResponse.json) | JSON | 184 | 0 | 1 | 185 | +| [src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json](/src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json) | JSON | 46 | 0 | 1 | 47 | +| [src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json](/src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json) | JSON | 34 | 0 | 0 | 34 | +| [src/test/resources/com/google/maps/ReverseGeocodeResponse.json](/src/test/resources/com/google/maps/ReverseGeocodeResponse.json) | JSON | 675 | 0 | 0 | 675 | +| [src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json](/src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json) | JSON | 649 | 0 | 0 | 649 | +| [src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json](/src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json) | JSON | 108 | 0 | 0 | 108 | +| [src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json](/src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json) | JSON | 60 | 0 | 0 | 60 | +| [src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json](/src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json) | JSON | 97 | 0 | 0 | 97 | +| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json) | JSON | 97 | 0 | 0 | 97 | +| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json) | JSON | 97 | 0 | 0 | 97 | +| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json) | JSON | 19 | 0 | 0 | 19 | +| [src/test/resources/com/google/maps/SimpleGeocodeResponse.json](/src/test/resources/com/google/maps/SimpleGeocodeResponse.json) | JSON | 68 | 0 | 0 | 68 | +| [src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json](/src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json) | JSON | 702 | 0 | 0 | 702 | +| [src/test/resources/com/google/maps/TextSearchPizzaInNYC.json](/src/test/resources/com/google/maps/TextSearchPizzaInNYC.json) | JSON | 741 | 0 | 1 | 742 | +| [src/test/resources/com/google/maps/TextSearchResponse.json](/src/test/resources/com/google/maps/TextSearchResponse.json) | JSON | 38 | 0 | 1 | 39 | +| [src/test/resources/com/google/maps/UtfResultGeocodeResponse.json](/src/test/resources/com/google/maps/UtfResultGeocodeResponse.json) | JSON | 394 | 0 | 0 | 394 | +| [src/test/resources/com/google/maps/placesApiKitaWardResponse.json](/src/test/resources/com/google/maps/placesApiKitaWardResponse.json) | JSON | 45 | 0 | 0 | 45 | + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md b/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md new file mode 100644 index 000000000..f3a1bd1d9 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md @@ -0,0 +1,15 @@ +# Diff Details + +Date : 2023-10-31 13:57:36 + +Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.csv b/.VSCodeCounter/2023-10-31_13-57-36/diff.csv new file mode 100644 index 000000000..b7d8d7591 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/diff.csv @@ -0,0 +1,2 @@ +"filename", "language", "", "comment", "blank", "total" +"Total", "-", , 0, 0, 0 \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.md b/.VSCodeCounter/2023-10-31_13-57-36/diff.md new file mode 100644 index 000000000..983bc4faa --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/diff.md @@ -0,0 +1,19 @@ +# Diff Summary + +Date : 2023-10-31 13:57:36 + +Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.txt b/.VSCodeCounter/2023-10-31_13-57-36/diff.txt new file mode 100644 index 000000000..e9bfcdeca --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/diff.txt @@ -0,0 +1,22 @@ +Date : 2023-10-31 13:57:36 +Directory : d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ ++----------+------------+------------+------------+------------+------------+ + +Directories ++------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++------+------------+------------+------------+------------+------------+ ++------+------------+------------+------------+------------+------------+ + +Files ++----------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------+----------+------------+------------+------------+------------+ +| Total | | 0 | 0 | 0 | 0 | ++----------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.csv b/.VSCodeCounter/2023-10-31_13-57-36/results.csv new file mode 100644 index 000000000..53e07f5b7 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/results.csv @@ -0,0 +1,214 @@ +"filename", "language", "JSON", "Java", "comment", "blank", "total" +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApi.java", "Java", 0, 61, 55, 20, 136 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApiRequest.java", "Java", 0, 166, 216, 37, 419 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApi.java", "Java", 0, 39, 32, 11, 82 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApiRequest.java", "Java", 0, 74, 113, 19, 206 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ElevationApi.java", "Java", 0, 90, 64, 20, 174 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\FindPlaceFromTextRequest.java", "Java", 0, 141, 40, 35, 216 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GaeRequestHandler.java", "Java", 0, 128, 21, 19, 168 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeoApiContext.java", "Java", 0, 381, 180, 72, 633 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApi.java", "Java", 0, 41, 43, 11, 95 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApiRequest.java", "Java", 0, 55, 83, 17, 155 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApi.java", "Java", 0, 52, 23, 12, 87 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApiRequest.java", "Java", 0, 74, 17, 18, 109 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ImageResult.java", "Java", 0, 27, 21, 11, 59 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearbySearchRequest.java", "Java", 0, 104, 100, 27, 231 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearestRoadsApiRequest.java", "Java", 0, 27, 7, 7, 41 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\OkHttpRequestHandler.java", "Java", 0, 155, 28, 21, 204 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResult.java", "Java", 0, 13, 58, 11, 82 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResultBase.java", "Java", 0, 119, 61, 24, 204 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PhotoRequest.java", "Java", 0, 27, 39, 10, 76 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceAutocompleteRequest.java", "Java", 0, 99, 109, 30, 238 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceDetailsRequest.java", "Java", 0, 135, 60, 21, 216 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlacesApi.java", "Java", 0, 74, 137, 17, 228 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\QueryAutocompleteRequest.java", "Java", 0, 55, 48, 15, 118 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\RoadsApi.java", "Java", 0, 64, 80, 18, 162 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SnapToRoadsApiRequest.java", "Java", 0, 30, 13, 8, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SpeedLimitsApiRequest.java", "Java", 0, 33, 13, 8, 54 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsApi.java", "Java", 0, 8, 21, 6, 35 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsRequest.java", "Java", 0, 224, 182, 65, 471 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TextSearchRequest.java", "Java", 0, 96, 91, 26, 213 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TimeZoneApi.java", "Java", 0, 44, 30, 11, 85 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfig.java", "Java", 0, 12, 7, 6, 25 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfigProvider.java", "Java", 0, 11, 5, 4, 20 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationInterceptor.java", "Java", 0, 29, 5, 10, 44 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\CertificateHelper.java", "Java", 0, 45, 8, 8, 61 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\Context.java", "Java", 0, 67, 17, 10, 94 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageInfo.java", "Java", 0, 25, 2, 5, 32 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageManager.java", "Java", 0, 27, 10, 5, 42 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\AccessNotConfiguredException.java", "Java", 0, 7, 18, 5, 30 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiError.java", "Java", 0, 6, 15, 3, 24 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiException.java", "Java", 0, 58, 31, 8, 97 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\InvalidRequestException.java", "Java", 0, 7, 15, 5, 27 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxElementsExceededException.java", "Java", 0, 7, 20, 5, 32 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxRouteLengthExceededException.java", "Java", 0, 7, 23, 5, 35 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxWaypointsExceededException.java", "Java", 0, 7, 20, 4, 31 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\NotFoundException.java", "Java", 0, 7, 18, 5, 30 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverDailyLimitException.java", "Java", 0, 7, 15, 5, 27 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverQueryLimitException.java", "Java", 0, 7, 15, 5, 27 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\RequestDeniedException.java", "Java", 0, 7, 15, 4, 26 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\UnknownErrorException.java", "Java", 0, 7, 17, 5, 29 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ZeroResultsException.java", "Java", 0, 7, 21, 5, 33 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiConfig.java", "Java", 0, 28, 15, 9, 52 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiResponse.java", "Java", 0, 7, 15, 6, 28 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DayOfWeekAdapter.java", "Java", 0, 40, 22, 9, 71 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DistanceAdapter.java", "Java", 0, 32, 33, 9, 74 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DurationAdapter.java", "Java", 0, 33, 34, 9, 76 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\EncodedPolylineInstanceCreator.java", "Java", 0, 14, 14, 6, 34 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ExceptionsAllowedToRetry.java", "Java", 0, 19, 14, 8, 41 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\FareAdapter.java", "Java", 0, 36, 26, 8, 70 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GaePendingResult.java", "Java", 0, 199, 44, 24, 267 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GeolocationResponseAdapter.java", "Java", 0, 67, 60, 7, 134 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\HttpHeaders.java", "Java", 0, 7, 19, 7, 33 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\InstantAdapter.java", "Java", 0, 24, 18, 8, 50 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LatLngAdapter.java", "Java", 0, 41, 29, 8, 78 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LocalTimeAdapter.java", "Java", 0, 26, 17, 7, 50 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\OkHttpPendingResult.java", "Java", 0, 260, 50, 35, 345 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PolylineEncoding.java", "Java", 0, 62, 24, 18, 104 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PriceLevelAdapter.java", "Java", 0, 36, 22, 9, 67 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\RateLimitExecutorService.java", "Java", 0, 138, 24, 26, 188 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\SafeEnumAdapter.java", "Java", 0, 37, 22, 10, 69 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\StringJoin.java", "Java", 0, 42, 20, 12, 74 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\UrlSigner.java", "Java", 0, 31, 25, 10, 66 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ZonedDateTimeAdapter.java", "Java", 0, 38, 36, 9, 83 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\LongMath.java", "Java", 0, 12, 41, 4, 57 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Platform.java", "Java", 0, 11, 36, 6, 53 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Preconditions.java", "Java", 0, 54, 85, 12, 151 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\RateLimiter.java", "Java", 0, 161, 254, 36, 451 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\SmoothRateLimiter.java", "Java", 0, 130, 241, 31, 402 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Stopwatch.java", "Java", 0, 110, 111, 22, 243 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Ticker.java", "Java", 0, 15, 39, 6, 60 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetrics.java", "Java", 0, 7, 1, 6, 14 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetricsReporter.java", "Java", 0, 7, 1, 4, 12 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusMetrics.java", "Java", 0, 103, 4, 22, 129 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetrics.java", "Java", 0, 63, 2, 11, 76 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetricsReporter.java", "Java", 0, 14, 1, 5, 20 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetrics.java", "Java", 0, 6, 17, 5, 28 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetricsReporter.java", "Java", 0, 4, 1, 3, 8 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponent.java", "Java", 0, 20, 29, 10, 59 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponentType.java", "Java", 0, 94, 128, 82, 304 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressType.java", "Java", 0, 162, 190, 144, 496 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompletePrediction.java", "Java", 0, 44, 56, 23, 123 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompleteStructuredFormatting.java", "Java", 0, 20, 18, 9, 47 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Bounds.java", "Java", 0, 11, 17, 6, 34 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\CellTower.java", "Java", 0, 89, 47, 17, 153 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ComponentFilter.java", "Java", 0, 34, 59, 13, 106 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsLeg.java", "Java", 0, 37, 66, 16, 119 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsResult.java", "Java", 0, 7, 30, 7, 44 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsRoute.java", "Java", 0, 29, 50, 13, 92 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsStep.java", "Java", 0, 32, 58, 16, 106 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Distance.java", "Java", 0, 11, 23, 8, 42 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrix.java", "Java", 0, 20, 32, 10, 62 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElement.java", "Java", 0, 24, 40, 11, 75 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElementStatus.java", "Java", 0, 6, 24, 5, 35 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixRow.java", "Java", 0, 10, 19, 7, 36 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Duration.java", "Java", 0, 11, 20, 8, 39 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ElevationResult.java", "Java", 0, 12, 22, 7, 41 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\EncodedPolyline.java", "Java", 0, 27, 26, 12, 65 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Fare.java", "Java", 0, 13, 22, 8, 43 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\FindPlaceFromText.java", "Java", 0, 10, 14, 7, 31 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypoint.java", "Java", 0, 21, 27, 10, 58 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypointStatus.java", "Java", 0, 5, 22, 4, 31 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodingResult.java", "Java", 0, 31, 52, 14, 97 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationPayload.java", "Java", 0, 123, 44, 22, 189 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationResult.java", "Java", 0, 11, 28, 6, 45 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Geometry.java", "Java", 0, 14, 30, 9, 53 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LatLng.java", "Java", 0, 34, 25, 13, 72 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LocationType.java", "Java", 0, 16, 37, 9, 62 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\OpeningHours.java", "Java", 0, 79, 55, 30, 164 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Photo.java", "Java", 0, 18, 24, 9, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceAutocompleteType.java", "Java", 0, 21, 18, 8, 47 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceDetails.java", "Java", 0, 196, 139, 70, 405 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceEditorialSummary.java", "Java", 0, 19, 21, 8, 48 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceIdScope.java", "Java", 0, 6, 20, 3, 29 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceType.java", "Java", 0, 125, 15, 8, 148 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResponse.java", "Java", 0, 21, 30, 9, 60 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResult.java", "Java", 0, 56, 43, 20, 119 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlusCode.java", "Java", 0, 17, 17, 8, 42 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PriceLevel.java", "Java", 0, 25, 19, 9, 53 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\RankBy.java", "Java", 0, 18, 15, 8, 41 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Size.java", "Java", 0, 21, 23, 10, 54 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedPoint.java", "Java", 0, 12, 31, 8, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedSpeedLimitResult.java", "Java", 0, 19, 17, 8, 44 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SpeedLimit.java", "Java", 0, 14, 25, 8, 47 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\StopDetails.java", "Java", 0, 11, 23, 8, 42 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TrafficModel.java", "Java", 0, 16, 15, 6, 37 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitAgency.java", "Java", 0, 21, 24, 9, 54 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitDetails.java", "Java", 0, 31, 39, 14, 84 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitLine.java", "Java", 0, 17, 38, 14, 69 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitMode.java", "Java", 0, 18, 16, 7, 41 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitRoutingPreference.java", "Java", 0, 15, 1, 5, 21 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TravelMode.java", "Java", 0, 21, 27, 7, 55 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Unit.java", "Java", 0, 15, 15, 6, 36 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Vehicle.java", "Java", 0, 13, 28, 10, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\VehicleType.java", "Java", 0, 21, 47, 21, 89 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\WifiAccessPoint.java", "Java", 0, 74, 34, 15, 123 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DirectionsApiTest.java", "Java", 0, 456, 72, 61, 589 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DistanceMatrixApiTest.java", "Java", 0, 166, 26, 24, 216 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\ElevationApiTest.java", "Java", 0, 238, 16, 25, 279 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeoApiContextTest.java", "Java", 0, 324, 47, 68, 439 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeocodingApiTest.java", "Java", 0, 1043, 74, 71, 1188 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeolocationApiTest.java", "Java", 0, 388, 14, 37, 439 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LargeTests.java", "Java", 0, 2, 15, 3, 20 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LocalTestServerContext.java", "Java", 0, 113, 16, 21, 150 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\MediumTests.java", "Java", 0, 2, 15, 3, 20 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\PlacesApiTest.java", "Java", 0, 878, 24, 129, 1031 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\RoadsApiIntegrationTest.java", "Java", 0, 165, 14, 22, 201 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\SmallTests.java", "Java", 0, 2, 15, 3, 20 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\StaticMapsApiTest.java", "Java", 0, 224, 15, 35, 274 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TestUtils.java", "Java", 0, 31, 14, 6, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TimeZoneApiTest.java", "Java", 0, 49, 16, 13, 78 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\android\AndroidAuthenticationConfigProviderTest.java", "Java", 0, 40, 0, 13, 53 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\PolylineEncodingTest.java", "Java", 0, 44, 15, 9, 68 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\RateLimitExecutorServiceTest.java", "Java", 0, 79, 19, 13, 111 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\UrlSignerTest.java", "Java", 0, 64, 19, 13, 96 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\metrics\OpenCensusTest.java", "Java", 0, 107, 0, 16, 123 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\EnumsTest.java", "Java", 0, 296, 17, 12, 325 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\LatLngAssert.java", "Java", 0, 9, 15, 6, 30 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\AutocompletePredictionStructuredFormatting.json", "JSON", 50, 0, 0, 1, 51 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsAlongPath.json", "JSON", 805, 0, 0, 0, 805 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsApiBuilderResponse.json", "JSON", 17, 0, 0, 0, 17 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\FindPlaceFromTextMuseumOfContemporaryArt.json", "JSON", 40, 0, 0, 2, 42 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeocodeLibraryType.json", "JSON", 74, 0, 0, 2, 76 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationAlternatePayloadBuilder.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationBasicResponse.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationDocSampleResponse.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumCellTower.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumWifiResponse.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumCellTowerResponse.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumWifiResponse.json", "JSON", 7, 0, 0, 0, 7 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDirectionsResponse.json", "JSON", 37, 0, 0, 0, 37 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDistanceMatrixWithBasicStringParams.json", "JSON", 494, 0, 0, 0, 494 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\OverQueryLimitResponse.json", "JSON", 4, 0, 0, 1, 5 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsFood.json", "JSON", 20, 0, 0, 1, 21 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponse.json", "JSON", 274, 0, 0, 1, 275 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseForPermanentlyClosedPlace.json", "JSON", 7, 0, 0, 1, 8 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseWithBusinessStatus.json", "JSON", 7, 0, 0, 1, 8 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceGeocodeResponse.json", "JSON", 68, 0, 0, 0, 68 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiDetailsInFrenchResponse.json", "JSON", 342, 0, 0, 0, 342 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByKeywordResponse.json", "JSON", 939, 0, 0, 1, 940 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByNameResponse.json", "JSON", 3004, 0, 0, 1, 3005 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByTypeResponse.json", "JSON", 3569, 0, 0, 0, 3569 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPhotoResponse.json", "JSON", 319, 0, 0, 1, 320 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPizzaInNewYorkResponse.json", "JSON", 942, 0, 0, 0, 942 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteResponse.json", "JSON", 293, 0, 0, 1, 294 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteWithTypeResponse.json", "JSON", 227, 0, 0, 0, 227 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiTextSearchResponse.json", "JSON", 178, 0, 0, 1, 179 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponse.json", "JSON", 184, 0, 0, 1, 185 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponseWithPlaceID.json", "JSON", 46, 0, 0, 1, 47 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ResponseTimesArePopulatedCorrectly.json", "JSON", 34, 0, 0, 0, 34 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeResponse.json", "JSON", 675, 0, 0, 0, 675 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeWithKitaWardResponse.json", "JSON", 649, 0, 0, 0, 649 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiNearestRoadsResponse.json", "JSON", 108, 0, 0, 0, 108 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnapToRoadResponse.json", "JSON", 60, 0, 0, 0, 60 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnappedSpeedLimitResponse.json", "JSON", 97, 0, 0, 0, 97 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsResponse.json", "JSON", 97, 0, 0, 0, 97 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsUSAResponse.json", "JSON", 97, 0, 0, 0, 97 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsWithPlaceIds.json", "JSON", 19, 0, 0, 0, 19 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleGeocodeResponse.json", "JSON", 68, 0, 0, 0, 68 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleReverseGeocodeResponse.json", "JSON", 702, 0, 0, 0, 702 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchPizzaInNYC.json", "JSON", 741, 0, 0, 1, 742 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchResponse.json", "JSON", 38, 0, 0, 1, 39 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\UtfResultGeocodeResponse.json", "JSON", 394, 0, 0, 0, 394 +"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\placesApiKitaWardResponse.json", "JSON", 45, 0, 0, 0, 45 +"Total", "-", 15813, 11545, 6251, 2660, 36269 \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.json b/.VSCodeCounter/2023-10-31_13-57-36/results.json new file mode 100644 index 000000000..f0da3dcc6 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/results.json @@ -0,0 +1 @@ +{"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeocodeLibraryType.json":{"language":"JSON","code":74,"comment":0,"blank":2},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationBasicResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/DirectionsAlongPath.json":{"language":"JSON","code":805,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json":{"language":"JSON","code":17,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMaximumCellTower.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationDocSampleResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json":{"language":"JSON","code":40,"comment":0,"blank":2},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/OverQueryLimitResponse.json":{"language":"JSON","code":4,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json":{"language":"JSON","code":50,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json":{"language":"JSON","code":7,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json":{"language":"JSON","code":7,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json":{"language":"JSON","code":494,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsFood.json":{"language":"JSON","code":20,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponse.json":{"language":"JSON","code":274,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/placesApiKitaWardResponse.json":{"language":"JSON","code":45,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceGeocodeResponse.json":{"language":"JSON","code":68,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GetDirectionsResponse.json":{"language":"JSON","code":37,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json":{"language":"JSON","code":342,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPhotoResponse.json":{"language":"JSON","code":319,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json":{"language":"JSON","code":939,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json":{"language":"JSON","code":293,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json":{"language":"JSON","code":3004,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json":{"language":"JSON","code":34,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json":{"language":"JSON","code":942,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ReverseGeocodeResponse.json":{"language":"JSON","code":675,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json":{"language":"JSON","code":46,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json":{"language":"JSON","code":60,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/UtfResultGeocodeResponse.json":{"language":"JSON","code":394,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json":{"language":"JSON","code":3569,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/TextSearchResponse.json":{"language":"JSON","code":38,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json":{"language":"JSON","code":702,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json":{"language":"JSON","code":19,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/SimpleGeocodeResponse.json":{"language":"JSON","code":68,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/TextSearchPizzaInNYC.json":{"language":"JSON","code":741,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json":{"language":"JSON","code":108,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json":{"language":"JSON","code":649,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/QueryAutocompleteResponse.json":{"language":"JSON","code":184,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json":{"language":"JSON","code":178,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json":{"language":"JSON","code":227,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DirectionsApi.java":{"language":"Java","code":61,"comment":55,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/FindPlaceFromTextRequest.java":{"language":"Java","code":141,"comment":40,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeolocationApiRequest.java":{"language":"Java","code":74,"comment":17,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java":{"language":"Java","code":11,"comment":5,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/Context.java":{"language":"Java","code":67,"comment":17,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/NearbySearchRequest.java":{"language":"Java","code":104,"comment":100,"blank":27},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/InvalidRequestException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxElementsExceededException.java":{"language":"Java","code":7,"comment":20,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressComponent.java":{"language":"Java","code":20,"comment":29,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AutocompletePrediction.java":{"language":"Java","code":44,"comment":56,"blank":23},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Bounds.java":{"language":"Java","code":11,"comment":17,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/OverQueryLimitException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlaceDetailsRequest.java":{"language":"Java","code":135,"comment":60,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java":{"language":"Java","code":20,"comment":18,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/OverDailyLimitException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/NotFoundException.java":{"language":"Java","code":7,"comment":18,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressType.java":{"language":"Java","code":162,"comment":190,"blank":144},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlaceAutocompleteRequest.java":{"language":"Java","code":99,"comment":109,"blank":30},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java":{"language":"Java","code":7,"comment":20,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressComponentType.java":{"language":"Java","code":94,"comment":128,"blank":82},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java":{"language":"Java","code":7,"comment":23,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ApiException.java":{"language":"Java","code":58,"comment":31,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PhotoRequest.java":{"language":"Java","code":27,"comment":39,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PendingResultBase.java":{"language":"Java","code":119,"comment":61,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PendingResult.java":{"language":"Java","code":13,"comment":58,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/PackageManager.java":{"language":"Java","code":27,"comment":10,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ApiError.java":{"language":"Java","code":6,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/AccessNotConfiguredException.java":{"language":"Java","code":7,"comment":18,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/PackageInfo.java":{"language":"Java","code":25,"comment":2,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/OkHttpRequestHandler.java":{"language":"Java","code":155,"comment":28,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/NearestRoadsApiRequest.java":{"language":"Java","code":27,"comment":7,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/CellTower.java":{"language":"Java","code":89,"comment":47,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/CertificateHelper.java":{"language":"Java","code":45,"comment":8,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlacesApi.java":{"language":"Java","code":74,"comment":137,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/UnknownErrorException.java":{"language":"Java","code":7,"comment":17,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/RequestDeniedException.java":{"language":"Java","code":7,"comment":15,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/QueryAutocompleteRequest.java":{"language":"Java","code":55,"comment":48,"blank":15},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/RoadsApi.java":{"language":"Java","code":64,"comment":80,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsLeg.java":{"language":"Java","code":37,"comment":66,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsResult.java":{"language":"Java","code":7,"comment":30,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/SnapToRoadsApiRequest.java":{"language":"Java","code":30,"comment":13,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/ComponentFilter.java":{"language":"Java","code":34,"comment":59,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ZeroResultsException.java":{"language":"Java","code":7,"comment":21,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java":{"language":"Java","code":6,"comment":24,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java":{"language":"Java","code":63,"comment":2,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ApiConfig.java":{"language":"Java","code":28,"comment":15,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Duration.java":{"language":"Java","code":11,"comment":20,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixElement.java":{"language":"Java","code":24,"comment":40,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixRow.java":{"language":"Java","code":10,"comment":19,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/RequestMetrics.java":{"language":"Java","code":6,"comment":17,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java":{"language":"Java","code":14,"comment":1,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ApiResponse.java":{"language":"Java","code":7,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java":{"language":"Java","code":103,"comment":4,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/TimeZoneApi.java":{"language":"Java","code":44,"comment":30,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrix.java":{"language":"Java","code":20,"comment":32,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DurationAdapter.java":{"language":"Java","code":33,"comment":34,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DistanceAdapter.java":{"language":"Java","code":32,"comment":33,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java":{"language":"Java","code":14,"comment":14,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Fare.java":{"language":"Java","code":13,"comment":22,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/EncodedPolyline.java":{"language":"Java","code":27,"comment":26,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/RequestMetricsReporter.java":{"language":"Java","code":4,"comment":1,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java":{"language":"Java","code":7,"comment":1,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DayOfWeekAdapter.java":{"language":"Java","code":40,"comment":22,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/TextSearchRequest.java":{"language":"Java","code":96,"comment":91,"blank":26},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/ElevationResult.java":{"language":"Java","code":12,"comment":22,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Distance.java":{"language":"Java","code":11,"comment":23,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/FindPlaceFromText.java":{"language":"Java","code":10,"comment":14,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java":{"language":"Java","code":7,"comment":1,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java":{"language":"Java","code":19,"comment":14,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsStep.java":{"language":"Java","code":32,"comment":58,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/StaticMapsApi.java":{"language":"Java","code":8,"comment":21,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/SpeedLimitsApiRequest.java":{"language":"Java","code":33,"comment":13,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/StaticMapsRequest.java":{"language":"Java","code":224,"comment":182,"blank":65},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java":{"language":"Java","code":29,"comment":5,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/ImageResult.java":{"language":"Java","code":27,"comment":21,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java":{"language":"Java","code":12,"comment":7,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsRoute.java":{"language":"Java","code":29,"comment":50,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeolocationApi.java":{"language":"Java","code":52,"comment":23,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeocodingApiRequest.java":{"language":"Java","code":55,"comment":83,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodedWaypoint.java":{"language":"Java","code":21,"comment":27,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/FareAdapter.java":{"language":"Java","code":36,"comment":26,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeocodingApi.java":{"language":"Java","code":41,"comment":43,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GaeRequestHandler.java":{"language":"Java","code":128,"comment":21,"blank":19},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeoApiContext.java":{"language":"Java","code":381,"comment":180,"blank":72},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/HttpHeaders.java":{"language":"Java","code":7,"comment":19,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/ElevationApi.java":{"language":"Java","code":90,"comment":64,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeolocationPayload.java":{"language":"Java","code":123,"comment":44,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/InstantAdapter.java":{"language":"Java","code":24,"comment":18,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java":{"language":"Java","code":67,"comment":60,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodingResult.java":{"language":"Java","code":31,"comment":52,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodedWaypointStatus.java":{"language":"Java","code":5,"comment":22,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/GaePendingResult.java":{"language":"Java","code":199,"comment":44,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/LatLngAdapter.java":{"language":"Java","code":41,"comment":29,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeolocationResult.java":{"language":"Java","code":11,"comment":28,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DistanceMatrixApiRequest.java":{"language":"Java","code":74,"comment":113,"blank":19},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DistanceMatrixApi.java":{"language":"Java","code":39,"comment":32,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DirectionsApiRequest.java":{"language":"Java","code":166,"comment":216,"blank":37},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/LocationType.java":{"language":"Java","code":16,"comment":37,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/SafeEnumAdapter.java":{"language":"Java","code":37,"comment":22,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/StringJoin.java":{"language":"Java","code":42,"comment":20,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceAutocompleteType.java":{"language":"Java","code":21,"comment":18,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java":{"language":"Java","code":38,"comment":36,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/RateLimitExecutorService.java":{"language":"Java","code":138,"comment":24,"blank":26},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Photo.java":{"language":"Java","code":18,"comment":24,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceDetails.java":{"language":"Java","code":196,"comment":139,"blank":70},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceEditorialSummary.java":{"language":"Java","code":19,"comment":21,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/OpeningHours.java":{"language":"Java","code":79,"comment":55,"blank":30},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PriceLevel.java":{"language":"Java","code":25,"comment":19,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/UrlSigner.java":{"language":"Java","code":31,"comment":25,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlusCode.java":{"language":"Java","code":17,"comment":17,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java":{"language":"Java","code":19,"comment":17,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SpeedLimit.java":{"language":"Java","code":14,"comment":25,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/WifiAccessPoint.java":{"language":"Java","code":74,"comment":34,"blank":15},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/VehicleType.java":{"language":"Java","code":21,"comment":47,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Vehicle.java":{"language":"Java","code":13,"comment":28,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Unit.java":{"language":"Java","code":15,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TravelMode.java":{"language":"Java","code":21,"comment":27,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitRoutingPreference.java":{"language":"Java","code":15,"comment":1,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitMode.java":{"language":"Java","code":18,"comment":16,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitLine.java":{"language":"Java","code":17,"comment":38,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitDetails.java":{"language":"Java","code":31,"comment":39,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitAgency.java":{"language":"Java","code":21,"comment":24,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/StopDetails.java":{"language":"Java","code":11,"comment":23,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TrafficModel.java":{"language":"Java","code":16,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SnappedPoint.java":{"language":"Java","code":12,"comment":31,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Size.java":{"language":"Java","code":21,"comment":23,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/RankBy.java":{"language":"Java","code":18,"comment":15,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlacesSearchResult.java":{"language":"Java","code":56,"comment":43,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceType.java":{"language":"Java","code":125,"comment":15,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/PriceLevelAdapter.java":{"language":"Java","code":36,"comment":22,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlacesSearchResponse.java":{"language":"Java","code":21,"comment":30,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceIdScope.java":{"language":"Java","code":6,"comment":20,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/PolylineEncoding.java":{"language":"Java","code":62,"comment":24,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/LatLng.java":{"language":"Java","code":34,"comment":25,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/OkHttpPendingResult.java":{"language":"Java","code":260,"comment":50,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Geometry.java":{"language":"Java","code":14,"comment":30,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/LocalTimeAdapter.java":{"language":"Java","code":26,"comment":17,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java":{"language":"Java","code":161,"comment":254,"blank":36},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Platform.java":{"language":"Java","code":11,"comment":36,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java":{"language":"Java","code":54,"comment":85,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java":{"language":"Java","code":15,"comment":39,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/LongMath.java":{"language":"Java","code":12,"comment":41,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java":{"language":"Java","code":130,"comment":241,"blank":31},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/DistanceMatrixApiTest.java":{"language":"Java","code":166,"comment":26,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java":{"language":"Java","code":110,"comment":111,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/ElevationApiTest.java":{"language":"Java","code":238,"comment":16,"blank":25},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeoApiContextTest.java":{"language":"Java","code":324,"comment":47,"blank":68},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/DirectionsApiTest.java":{"language":"Java","code":456,"comment":72,"blank":61},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/LargeTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/LocalTestServerContext.java":{"language":"Java","code":113,"comment":16,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/RoadsApiIntegrationTest.java":{"language":"Java","code":165,"comment":14,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/PlacesApiTest.java":{"language":"Java","code":878,"comment":24,"blank":129},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/SmallTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/StaticMapsApiTest.java":{"language":"Java","code":224,"comment":15,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/PolylineEncodingTest.java":{"language":"Java","code":44,"comment":15,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java":{"language":"Java","code":40,"comment":0,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/TestUtils.java":{"language":"Java","code":31,"comment":14,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/UrlSignerTest.java":{"language":"Java","code":64,"comment":19,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java":{"language":"Java","code":79,"comment":19,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/TimeZoneApiTest.java":{"language":"Java","code":49,"comment":16,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/MediumTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeolocationApiTest.java":{"language":"Java","code":388,"comment":14,"blank":37},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/metrics/OpenCensusTest.java":{"language":"Java","code":107,"comment":0,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/model/LatLngAssert.java":{"language":"Java","code":9,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeocodingApiTest.java":{"language":"Java","code":1043,"comment":74,"blank":71},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/model/EnumsTest.java":{"language":"Java","code":296,"comment":17,"blank":12}} \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.md b/.VSCodeCounter/2023-10-31_13-57-36/results.md new file mode 100644 index 000000000..5113ff4d5 --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/results.md @@ -0,0 +1,49 @@ +# Summary + +Date : 2023-10-31 13:57:36 + +Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src + +Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| JSON | 46 | 15,813 | 0 | 19 | 15,832 | +| Java | 166 | 11,545 | 6,251 | 2,641 | 20,437 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 212 | 27,358 | 6,251 | 2,660 | 36,269 | +| main | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\\java | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\\java\\com | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\\java\\com\\google | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\\java\\com\\google\\maps | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\\java\\com\\google\\maps (Files) | 30 | 2,636 | 1,985 | 627 | 5,248 | +| main\\java\\com\\google\\maps\\android | 7 | 216 | 54 | 48 | 318 | +| main\\java\\com\\google\\maps\\errors | 13 | 141 | 243 | 64 | 448 | +| main\\java\\com\\google\\maps\\internal | 29 | 1,710 | 1,390 | 371 | 3,471 | +| main\\java\\com\\google\\maps\\internal (Files) | 22 | 1,217 | 583 | 254 | 2,054 | +| main\\java\\com\\google\\maps\\internal\\ratelimiter | 7 | 493 | 807 | 117 | 1,417 | +| main\\java\\com\\google\\maps\\metrics | 7 | 204 | 27 | 56 | 287 | +| main\\java\\com\\google\\maps\\model | 58 | 1,918 | 2,074 | 872 | 4,864 | +| test | 68 | 20,533 | 478 | 622 | 21,633 | +| test\\java | 22 | 4,720 | 478 | 603 | 5,801 | +| test\\java\\com | 22 | 4,720 | 478 | 603 | 5,801 | +| test\\java\\com\\google | 22 | 4,720 | 478 | 603 | 5,801 | +| test\\java\\com\\google\\maps | 22 | 4,720 | 478 | 603 | 5,801 | +| test\\java\\com\\google\\maps (Files) | 15 | 4,081 | 393 | 521 | 4,995 | +| test\\java\\com\\google\\maps\\android | 1 | 40 | 0 | 13 | 53 | +| test\\java\\com\\google\\maps\\internal | 3 | 187 | 53 | 35 | 275 | +| test\\java\\com\\google\\maps\\metrics | 1 | 107 | 0 | 16 | 123 | +| test\\java\\com\\google\\maps\\model | 2 | 305 | 32 | 18 | 355 | +| test\\resources | 46 | 15,813 | 0 | 19 | 15,832 | +| test\\resources\\com | 46 | 15,813 | 0 | 19 | 15,832 | +| test\\resources\\com\\google | 46 | 15,813 | 0 | 19 | 15,832 | +| test\\resources\\com\\google\\maps | 46 | 15,813 | 0 | 19 | 15,832 | + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.txt b/.VSCodeCounter/2023-10-31_13-57-36/results.txt new file mode 100644 index 000000000..e99c2840f --- /dev/null +++ b/.VSCodeCounter/2023-10-31_13-57-36/results.txt @@ -0,0 +1,264 @@ +Date : 2023-10-31 13:57:36 +Directory : d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src +Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ +| JSON | 46 | 15,813 | 0 | 19 | 15,832 | +| Java | 166 | 11,545 | 6,251 | 2,641 | 20,437 | ++----------+------------+------------+------------+------------+------------+ + +Directories ++----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 212 | 27,358 | 6,251 | 2,660 | 36,269 | +| main | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\java | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\java\com | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\java\com\google | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\java\com\google\maps | 144 | 6,825 | 5,773 | 2,038 | 14,636 | +| main\java\com\google\maps (Files) | 30 | 2,636 | 1,985 | 627 | 5,248 | +| main\java\com\google\maps\android | 7 | 216 | 54 | 48 | 318 | +| main\java\com\google\maps\errors | 13 | 141 | 243 | 64 | 448 | +| main\java\com\google\maps\internal | 29 | 1,710 | 1,390 | 371 | 3,471 | +| main\java\com\google\maps\internal (Files) | 22 | 1,217 | 583 | 254 | 2,054 | +| main\java\com\google\maps\internal\ratelimiter | 7 | 493 | 807 | 117 | 1,417 | +| main\java\com\google\maps\metrics | 7 | 204 | 27 | 56 | 287 | +| main\java\com\google\maps\model | 58 | 1,918 | 2,074 | 872 | 4,864 | +| test | 68 | 20,533 | 478 | 622 | 21,633 | +| test\java | 22 | 4,720 | 478 | 603 | 5,801 | +| test\java\com | 22 | 4,720 | 478 | 603 | 5,801 | +| test\java\com\google | 22 | 4,720 | 478 | 603 | 5,801 | +| test\java\com\google\maps | 22 | 4,720 | 478 | 603 | 5,801 | +| test\java\com\google\maps (Files) | 15 | 4,081 | 393 | 521 | 4,995 | +| test\java\com\google\maps\android | 1 | 40 | 0 | 13 | 53 | +| test\java\com\google\maps\internal | 3 | 187 | 53 | 35 | 275 | +| test\java\com\google\maps\metrics | 1 | 107 | 0 | 16 | 123 | +| test\java\com\google\maps\model | 2 | 305 | 32 | 18 | 355 | +| test\resources | 46 | 15,813 | 0 | 19 | 15,832 | +| test\resources\com | 46 | 15,813 | 0 | 19 | 15,832 | +| test\resources\com\google | 46 | 15,813 | 0 | 19 | 15,832 | +| test\resources\com\google\maps | 46 | 15,813 | 0 | 19 | 15,832 | ++----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApi.java | Java | 61 | 55 | 20 | 136 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApiRequest.java | Java | 166 | 216 | 37 | 419 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApi.java | Java | 39 | 32 | 11 | 82 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApiRequest.java | Java | 74 | 113 | 19 | 206 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ElevationApi.java | Java | 90 | 64 | 20 | 174 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\FindPlaceFromTextRequest.java | Java | 141 | 40 | 35 | 216 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GaeRequestHandler.java | Java | 128 | 21 | 19 | 168 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeoApiContext.java | Java | 381 | 180 | 72 | 633 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApi.java | Java | 41 | 43 | 11 | 95 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApiRequest.java | Java | 55 | 83 | 17 | 155 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApi.java | Java | 52 | 23 | 12 | 87 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApiRequest.java | Java | 74 | 17 | 18 | 109 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ImageResult.java | Java | 27 | 21 | 11 | 59 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearbySearchRequest.java | Java | 104 | 100 | 27 | 231 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearestRoadsApiRequest.java | Java | 27 | 7 | 7 | 41 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\OkHttpRequestHandler.java | Java | 155 | 28 | 21 | 204 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResult.java | Java | 13 | 58 | 11 | 82 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResultBase.java | Java | 119 | 61 | 24 | 204 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PhotoRequest.java | Java | 27 | 39 | 10 | 76 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceAutocompleteRequest.java | Java | 99 | 109 | 30 | 238 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceDetailsRequest.java | Java | 135 | 60 | 21 | 216 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlacesApi.java | Java | 74 | 137 | 17 | 228 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\QueryAutocompleteRequest.java | Java | 55 | 48 | 15 | 118 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\RoadsApi.java | Java | 64 | 80 | 18 | 162 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SnapToRoadsApiRequest.java | Java | 30 | 13 | 8 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SpeedLimitsApiRequest.java | Java | 33 | 13 | 8 | 54 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsApi.java | Java | 8 | 21 | 6 | 35 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsRequest.java | Java | 224 | 182 | 65 | 471 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TextSearchRequest.java | Java | 96 | 91 | 26 | 213 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TimeZoneApi.java | Java | 44 | 30 | 11 | 85 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfig.java | Java | 12 | 7 | 6 | 25 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfigProvider.java | Java | 11 | 5 | 4 | 20 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationInterceptor.java | Java | 29 | 5 | 10 | 44 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\CertificateHelper.java | Java | 45 | 8 | 8 | 61 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\Context.java | Java | 67 | 17 | 10 | 94 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageInfo.java | Java | 25 | 2 | 5 | 32 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageManager.java | Java | 27 | 10 | 5 | 42 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\AccessNotConfiguredException.java | Java | 7 | 18 | 5 | 30 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiError.java | Java | 6 | 15 | 3 | 24 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiException.java | Java | 58 | 31 | 8 | 97 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\InvalidRequestException.java | Java | 7 | 15 | 5 | 27 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxElementsExceededException.java | Java | 7 | 20 | 5 | 32 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxRouteLengthExceededException.java | Java | 7 | 23 | 5 | 35 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxWaypointsExceededException.java | Java | 7 | 20 | 4 | 31 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\NotFoundException.java | Java | 7 | 18 | 5 | 30 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverDailyLimitException.java | Java | 7 | 15 | 5 | 27 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverQueryLimitException.java | Java | 7 | 15 | 5 | 27 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\RequestDeniedException.java | Java | 7 | 15 | 4 | 26 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\UnknownErrorException.java | Java | 7 | 17 | 5 | 29 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ZeroResultsException.java | Java | 7 | 21 | 5 | 33 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiConfig.java | Java | 28 | 15 | 9 | 52 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiResponse.java | Java | 7 | 15 | 6 | 28 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DayOfWeekAdapter.java | Java | 40 | 22 | 9 | 71 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DistanceAdapter.java | Java | 32 | 33 | 9 | 74 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DurationAdapter.java | Java | 33 | 34 | 9 | 76 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\EncodedPolylineInstanceCreator.java | Java | 14 | 14 | 6 | 34 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ExceptionsAllowedToRetry.java | Java | 19 | 14 | 8 | 41 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\FareAdapter.java | Java | 36 | 26 | 8 | 70 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GaePendingResult.java | Java | 199 | 44 | 24 | 267 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GeolocationResponseAdapter.java | Java | 67 | 60 | 7 | 134 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\HttpHeaders.java | Java | 7 | 19 | 7 | 33 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\InstantAdapter.java | Java | 24 | 18 | 8 | 50 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LatLngAdapter.java | Java | 41 | 29 | 8 | 78 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LocalTimeAdapter.java | Java | 26 | 17 | 7 | 50 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\OkHttpPendingResult.java | Java | 260 | 50 | 35 | 345 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PolylineEncoding.java | Java | 62 | 24 | 18 | 104 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PriceLevelAdapter.java | Java | 36 | 22 | 9 | 67 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\RateLimitExecutorService.java | Java | 138 | 24 | 26 | 188 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\SafeEnumAdapter.java | Java | 37 | 22 | 10 | 69 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\StringJoin.java | Java | 42 | 20 | 12 | 74 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\UrlSigner.java | Java | 31 | 25 | 10 | 66 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ZonedDateTimeAdapter.java | Java | 38 | 36 | 9 | 83 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\LongMath.java | Java | 12 | 41 | 4 | 57 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Platform.java | Java | 11 | 36 | 6 | 53 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Preconditions.java | Java | 54 | 85 | 12 | 151 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\RateLimiter.java | Java | 161 | 254 | 36 | 451 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\SmoothRateLimiter.java | Java | 130 | 241 | 31 | 402 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Stopwatch.java | Java | 110 | 111 | 22 | 243 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Ticker.java | Java | 15 | 39 | 6 | 60 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetrics.java | Java | 7 | 1 | 6 | 14 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetricsReporter.java | Java | 7 | 1 | 4 | 12 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusMetrics.java | Java | 103 | 4 | 22 | 129 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetrics.java | Java | 63 | 2 | 11 | 76 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetricsReporter.java | Java | 14 | 1 | 5 | 20 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetrics.java | Java | 6 | 17 | 5 | 28 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetricsReporter.java | Java | 4 | 1 | 3 | 8 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponent.java | Java | 20 | 29 | 10 | 59 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponentType.java | Java | 94 | 128 | 82 | 304 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressType.java | Java | 162 | 190 | 144 | 496 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompletePrediction.java | Java | 44 | 56 | 23 | 123 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompleteStructuredFormatting.java | Java | 20 | 18 | 9 | 47 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Bounds.java | Java | 11 | 17 | 6 | 34 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\CellTower.java | Java | 89 | 47 | 17 | 153 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ComponentFilter.java | Java | 34 | 59 | 13 | 106 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsLeg.java | Java | 37 | 66 | 16 | 119 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsResult.java | Java | 7 | 30 | 7 | 44 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsRoute.java | Java | 29 | 50 | 13 | 92 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsStep.java | Java | 32 | 58 | 16 | 106 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Distance.java | Java | 11 | 23 | 8 | 42 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrix.java | Java | 20 | 32 | 10 | 62 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElement.java | Java | 24 | 40 | 11 | 75 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElementStatus.java | Java | 6 | 24 | 5 | 35 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixRow.java | Java | 10 | 19 | 7 | 36 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Duration.java | Java | 11 | 20 | 8 | 39 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ElevationResult.java | Java | 12 | 22 | 7 | 41 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\EncodedPolyline.java | Java | 27 | 26 | 12 | 65 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Fare.java | Java | 13 | 22 | 8 | 43 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\FindPlaceFromText.java | Java | 10 | 14 | 7 | 31 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypoint.java | Java | 21 | 27 | 10 | 58 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypointStatus.java | Java | 5 | 22 | 4 | 31 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodingResult.java | Java | 31 | 52 | 14 | 97 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationPayload.java | Java | 123 | 44 | 22 | 189 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationResult.java | Java | 11 | 28 | 6 | 45 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Geometry.java | Java | 14 | 30 | 9 | 53 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LatLng.java | Java | 34 | 25 | 13 | 72 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LocationType.java | Java | 16 | 37 | 9 | 62 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\OpeningHours.java | Java | 79 | 55 | 30 | 164 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Photo.java | Java | 18 | 24 | 9 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceAutocompleteType.java | Java | 21 | 18 | 8 | 47 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceDetails.java | Java | 196 | 139 | 70 | 405 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceEditorialSummary.java | Java | 19 | 21 | 8 | 48 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceIdScope.java | Java | 6 | 20 | 3 | 29 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceType.java | Java | 125 | 15 | 8 | 148 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResponse.java | Java | 21 | 30 | 9 | 60 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResult.java | Java | 56 | 43 | 20 | 119 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlusCode.java | Java | 17 | 17 | 8 | 42 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PriceLevel.java | Java | 25 | 19 | 9 | 53 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\RankBy.java | Java | 18 | 15 | 8 | 41 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Size.java | Java | 21 | 23 | 10 | 54 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedPoint.java | Java | 12 | 31 | 8 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedSpeedLimitResult.java | Java | 19 | 17 | 8 | 44 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SpeedLimit.java | Java | 14 | 25 | 8 | 47 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\StopDetails.java | Java | 11 | 23 | 8 | 42 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TrafficModel.java | Java | 16 | 15 | 6 | 37 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitAgency.java | Java | 21 | 24 | 9 | 54 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitDetails.java | Java | 31 | 39 | 14 | 84 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitLine.java | Java | 17 | 38 | 14 | 69 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitMode.java | Java | 18 | 16 | 7 | 41 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitRoutingPreference.java | Java | 15 | 1 | 5 | 21 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TravelMode.java | Java | 21 | 27 | 7 | 55 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Unit.java | Java | 15 | 15 | 6 | 36 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Vehicle.java | Java | 13 | 28 | 10 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\VehicleType.java | Java | 21 | 47 | 21 | 89 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\WifiAccessPoint.java | Java | 74 | 34 | 15 | 123 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DirectionsApiTest.java | Java | 456 | 72 | 61 | 589 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DistanceMatrixApiTest.java | Java | 166 | 26 | 24 | 216 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\ElevationApiTest.java | Java | 238 | 16 | 25 | 279 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeoApiContextTest.java | Java | 324 | 47 | 68 | 439 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeocodingApiTest.java | Java | 1,043 | 74 | 71 | 1,188 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeolocationApiTest.java | Java | 388 | 14 | 37 | 439 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LargeTests.java | Java | 2 | 15 | 3 | 20 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LocalTestServerContext.java | Java | 113 | 16 | 21 | 150 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\MediumTests.java | Java | 2 | 15 | 3 | 20 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\PlacesApiTest.java | Java | 878 | 24 | 129 | 1,031 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\RoadsApiIntegrationTest.java | Java | 165 | 14 | 22 | 201 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\SmallTests.java | Java | 2 | 15 | 3 | 20 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\StaticMapsApiTest.java | Java | 224 | 15 | 35 | 274 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TestUtils.java | Java | 31 | 14 | 6 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TimeZoneApiTest.java | Java | 49 | 16 | 13 | 78 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\android\AndroidAuthenticationConfigProviderTest.java | Java | 40 | 0 | 13 | 53 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\PolylineEncodingTest.java | Java | 44 | 15 | 9 | 68 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\RateLimitExecutorServiceTest.java | Java | 79 | 19 | 13 | 111 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\UrlSignerTest.java | Java | 64 | 19 | 13 | 96 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\metrics\OpenCensusTest.java | Java | 107 | 0 | 16 | 123 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\EnumsTest.java | Java | 296 | 17 | 12 | 325 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\LatLngAssert.java | Java | 9 | 15 | 6 | 30 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\AutocompletePredictionStructuredFormatting.json | JSON | 50 | 0 | 1 | 51 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsAlongPath.json | JSON | 805 | 0 | 0 | 805 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsApiBuilderResponse.json | JSON | 17 | 0 | 0 | 17 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\FindPlaceFromTextMuseumOfContemporaryArt.json | JSON | 40 | 0 | 2 | 42 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeocodeLibraryType.json | JSON | 74 | 0 | 2 | 76 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationAlternatePayloadBuilder.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationBasicResponse.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationDocSampleResponse.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumCellTower.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumWifiResponse.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumCellTowerResponse.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumWifiResponse.json | JSON | 7 | 0 | 0 | 7 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDirectionsResponse.json | JSON | 37 | 0 | 0 | 37 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDistanceMatrixWithBasicStringParams.json | JSON | 494 | 0 | 0 | 494 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\OverQueryLimitResponse.json | JSON | 4 | 0 | 1 | 5 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsFood.json | JSON | 20 | 0 | 1 | 21 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponse.json | JSON | 274 | 0 | 1 | 275 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseForPermanentlyClosedPlace.json | JSON | 7 | 0 | 1 | 8 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseWithBusinessStatus.json | JSON | 7 | 0 | 1 | 8 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceGeocodeResponse.json | JSON | 68 | 0 | 0 | 68 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiDetailsInFrenchResponse.json | JSON | 342 | 0 | 0 | 342 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByKeywordResponse.json | JSON | 939 | 0 | 1 | 940 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByNameResponse.json | JSON | 3,004 | 0 | 1 | 3,005 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByTypeResponse.json | JSON | 3,569 | 0 | 0 | 3,569 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPhotoResponse.json | JSON | 319 | 0 | 1 | 320 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPizzaInNewYorkResponse.json | JSON | 942 | 0 | 0 | 942 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteResponse.json | JSON | 293 | 0 | 1 | 294 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteWithTypeResponse.json | JSON | 227 | 0 | 0 | 227 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiTextSearchResponse.json | JSON | 178 | 0 | 1 | 179 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponse.json | JSON | 184 | 0 | 1 | 185 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponseWithPlaceID.json | JSON | 46 | 0 | 1 | 47 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ResponseTimesArePopulatedCorrectly.json | JSON | 34 | 0 | 0 | 34 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeResponse.json | JSON | 675 | 0 | 0 | 675 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeWithKitaWardResponse.json | JSON | 649 | 0 | 0 | 649 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiNearestRoadsResponse.json | JSON | 108 | 0 | 0 | 108 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnapToRoadResponse.json | JSON | 60 | 0 | 0 | 60 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnappedSpeedLimitResponse.json | JSON | 97 | 0 | 0 | 97 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsResponse.json | JSON | 97 | 0 | 0 | 97 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsUSAResponse.json | JSON | 97 | 0 | 0 | 97 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsWithPlaceIds.json | JSON | 19 | 0 | 0 | 19 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleGeocodeResponse.json | JSON | 68 | 0 | 0 | 68 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleReverseGeocodeResponse.json | JSON | 702 | 0 | 0 | 702 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchPizzaInNYC.json | JSON | 741 | 0 | 1 | 742 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchResponse.json | JSON | 38 | 0 | 1 | 39 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\UtfResultGeocodeResponse.json | JSON | 394 | 0 | 0 | 394 | +| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\placesApiKitaWardResponse.json | JSON | 45 | 0 | 0 | 45 | +| Total | | 27,358 | 6,251 | 2,660 | 36,269 | ++----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/CodeCoverageReport/css/coverage.css b/CodeCoverageReport/css/coverage.css new file mode 100644 index 000000000..cef776517 --- /dev/null +++ b/CodeCoverageReport/css/coverage.css @@ -0,0 +1,154 @@ +/* + * Copyright 2000-2021 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +* { + margin: 0; + padding: 0; +} + +body { + background-color: #fff; + font-family: helvetica neue, tahoma, arial, sans-serif; + font-size: 82%; + color: #151515; +} + +h1 { + margin: 0.5em 0; + color: #010101; + font-weight: normal; + font-size: 18px; +} + +h2 { + margin: 0.5em 0; + color: #010101; + font-weight: normal; + font-size: 16px; +} + +a { + color: #1564C2; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +span.separator { + color: #9BA9BA; + padding-left: 5px; + padding-right: 5px; +} + +div.content { + width: 99%; +} + +table.coverageStats { + width: 100%; + border-collapse: collapse; +} + +table.overallStats { + width: 20%; +} + +table.coverageStats td, table.coverageStats th { + padding: 4px 2px; + border-bottom: 1px solid #ccc; +} + +table.coverageStats th { + background-color: #959BA4; + border: none; + font-weight: bold; + text-align: left; + color: #FFF; +} + +table.coverageStats th.coverageStat { + width: 15%; +} + +table.coverageStats th a { + color: #FFF; +} + +table.coverageStats th a:hover { + text-decoration: none; +} + +table.coverageStats th.sortedDesc a { + background: url(../img/arrowDown.gif) no-repeat 100% 2px; + padding-right: 20px; +} + +table.coverageStats th.sortedAsc a { + background: url(../img/arrowUp.gif) no-repeat 100% 2px; + padding-right: 20px; +} + +div.footer { + margin: 2em .5em; + font-size: 85%; + text-align: left; + line-height: 140%; +} + +code.sourceCode { + width: 100%; + border: 1px solid #ccc; + font: normal 12px 'Menlo', 'Bitstream Vera Sans Mono', 'Courier New', 'Courier', monospace; + white-space: pre; +} + +code.sourceCode b { + font-weight: normal; +} + +code.sourceCode span.number { + color: #151515; +} + +code.sourceCode .fc { + background-color: #cfc; +} + +code.sourceCode .pc { + background-color: #ffc; +} + +code.sourceCode .nc { + background-color: #fcc; +} + +.percent, .absValue { + font-size: 90%; +} + +.percent .green, .absValue .green { + color: #32cc32; +} + +.percent .red, .absValue .red { + color: #f00; +} + +.percent .totalDiff { + color: #3f3f3f; +} diff --git a/CodeCoverageReport/css/idea.min.css b/CodeCoverageReport/css/idea.min.css new file mode 100644 index 000000000..a8d5292bd --- /dev/null +++ b/CodeCoverageReport/css/idea.min.css @@ -0,0 +1,118 @@ +/* + * Copyright 2000-2021 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* +Intellij Idea-like styling (c) Vasily Polovnyov +*/ + +.hljs { + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-ln-numbers { + display: block; + float: left; + width: 3em; + border-right: 1px solid #ccc; + font-style: normal; + text-align: right; + background-color: #eee; +} diff --git a/CodeCoverageReport/img/arrowDown.gif b/CodeCoverageReport/img/arrowDown.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ac9b4b0f5eee9fc82deb7f03d0cc7f197b01c7 GIT binary patch literal 89 zcmZ?wbhEHbv%yJ&P?))?G g5?!@7agD+*@rGjs@joUks8}}Ha%HfNHz$KN0Orjd82|tP literal 0 HcmV?d00001 diff --git a/CodeCoverageReport/img/arrowUp.gif b/CodeCoverageReport/img/arrowUp.gif new file mode 100644 index 0000000000000000000000000000000000000000..d488db0089f15409b83a6f39718384cac89ea3c9 GIT binary patch literal 91 zcmZ?wbhEHbv%nBa6?))=2 j#jeJ<$W6!S$=vG=3s*2Wu3C5I!M+a(XH6zEFjxZs9OxeQ literal 0 HcmV?d00001 diff --git a/CodeCoverageReport/index.html b/CodeCoverageReport/index.html new file mode 100644 index 000000000..b1ead1327 --- /dev/null +++ b/CodeCoverageReport/index.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_BLOCK.html b/CodeCoverageReport/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..a1be4a625 --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_BLOCK.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..11baf739a --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_CLASS.html b/CodeCoverageReport/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..7aa8cc43a --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_CLASS.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..c97d24be8 --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_LINE.html b/CodeCoverageReport/index_SORT_BY_LINE.html new file mode 100644 index 000000000..8034ef47b --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_LINE.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..e1f4e5e98 --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_METHOD.html b/CodeCoverageReport/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..61d8509b5 --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_METHOD.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..c190b7a85 --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..656f2282b --- /dev/null +++ b/CodeCoverageReport/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,376 @@ + + + + + + + Coverage Report > Summary + + + + + + +
+ + +

Overall Coverage Summary

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
all classes + + 86.2% + + + (175/203) + + + + 72.8% + + + (625/859) + + + + 50.4% + + + (468/929) + + + + 72.5% + + + (2270/3129) + +
+ +
+

Coverage Breakdown

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+
+ + + + + + + diff --git a/CodeCoverageReport/js/highlight.min.js b/CodeCoverageReport/js/highlight.min.js new file mode 100644 index 000000000..e88731520 --- /dev/null +++ b/CodeCoverageReport/js/highlight.min.js @@ -0,0 +1,1388 @@ +/* + Highlight.js 10.7.2 (00233d63) + License: BSD-3-Clause + Copyright (c) 2006-2021, Ivan Sagalaev + + BSD 3-Clause License + + Copyright (c) 2006-2021, Ivan Sagalaev. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +var hljs=function(){"use strict";function e(t){ +return t instanceof Map?t.clear=t.delete=t.set=()=>{ +throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{var i=t[n] +;"object"!=typeof i||Object.isFrozen(i)||e(i)})),t}var t=e,n=e;t.default=n +;class i{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function s(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const r=e=>!!e.kind +;class l{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=s(e)}openNode(e){if(!r(e))return;let t=e.kind +;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){ +r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}class o{constructor(){this.rootNode={ +children:[]},this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class c extends o{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ +return new l(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null} +const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,h="[a-zA-Z]\\w*",d="[a-zA-Z_]\\w*",f="\\b\\d+(\\.\\d+)?",p="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",m="\\b(0b[01]+)",b={ +begin:"\\\\[\\s\\S]",relevance:0},E={className:"string",begin:"'",end:"'", +illegal:"\\n",contains:[b]},x={className:"string",begin:'"',end:'"', +illegal:"\\n",contains:[b]},v={ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},w=(e,t,n={})=>{const i=a({className:"comment",begin:e,end:t,contains:[]},n) +;return i.contains.push(v),i.contains.push({className:"doctag", +begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i +},y=w("//","$"),N=w("/\\*","\\*/"),R=w("#","$");var _=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:h,UNDERSCORE_IDENT_RE:d, +NUMBER_RE:f,C_NUMBER_RE:p,BINARY_NUMBER_RE:m, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=((...e)=>e.map((e=>g(e))).join(""))(t,/.*\b/,e.binary,/\b.*/)), +a({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{ +0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:b,APOS_STRING_MODE:E, +QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:v,COMMENT:w,C_LINE_COMMENT_MODE:y, +C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:R,NUMBER_MODE:{className:"number", +begin:f,relevance:0},C_NUMBER_MODE:{className:"number",begin:p,relevance:0}, +BINARY_NUMBER_MODE:{className:"number",begin:m,relevance:0},CSS_NUMBER_MODE:{ +className:"number", +begin:f+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp", +begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[b,{begin:/\[/,end:/\]/, +relevance:0,contains:[b]}]}]},TITLE_MODE:{className:"title",begin:h,relevance:0 +},UNDERSCORE_TITLE_MODE:{className:"title",begin:d,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function k(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function M(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=k,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function O(e,t){ +Array.isArray(e.illegal)&&(e.illegal=((...e)=>"("+e.map((e=>g(e))).join("|")+")")(...e.illegal)) +}function A(e,t){if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function L(e,t){ +void 0===e.relevance&&(e.relevance=1)} +const I=["of","and","for","in","not","or","if","then","parent","list","value"] +;function j(e,t,n="keyword"){const i={} +;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,j(e[n],t,n))})),i;function s(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,B(n[0],n[1])]}))}}function B(e,t){ +return t?Number(t):(e=>I.includes(e.toLowerCase()))(e)?0:1} +function T(e,{plugins:t}){function n(t,n){ +return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{ +constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=(e=>RegExp(e.toString()+"|").exec("").length-1)(e)+1}compile(){ +0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(((e,t="|")=>{let n=0 +;return e.map((e=>{n+=1;const t=n;let i=g(e),s="";for(;i.length>0;){ +const e=u.exec(i);if(!e){s+=i;break} +s+=i.substring(0,e.index),i=i.substring(e.index+e[0].length), +"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],"("===e[0]&&n++)}return s +})).map((e=>`(${e})`)).join(t)})(e),!0),this.lastIndex=0}exec(e){ +this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e) +;if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(i,r){const l=i +;if(i.isCompiled)return l +;[A].forEach((e=>e(i,r))),e.compilerExtensions.forEach((e=>e(i,r))), +i.__beforeBegin=null,[M,O,L].forEach((e=>e(i,r))),i.isCompiled=!0;let o=null +;if("object"==typeof i.keywords&&(o=i.keywords.$pattern, +delete i.keywords.$pattern), +i.keywords&&(i.keywords=j(i.keywords,e.case_insensitive)), +i.lexemes&&o)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ") +;return o=o||i.lexemes||/\w+/, +l.keywordPatternRe=n(o,!0),r&&(i.begin||(i.begin=/\B|\b/), +l.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin), +i.end||i.endsWithParent||(i.end=/\B|\b/), +i.end&&(l.endRe=n(i.end)),l.terminatorEnd=g(i.end)||"", +i.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)), +i.illegal&&(l.illegalRe=n(i.illegal)), +i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>a(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:S(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?i:e)))),i.contains.forEach((e=>{t(e,l) +})),i.starts&&t(i.starts,r),l.matcher=(e=>{const t=new s +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(l),l}(e)}function S(e){ +return!!e&&(e.endsWithParent||S(e.starts))}function P(e){const t={ +props:["language","code","autodetect"],data:()=>({detectedLanguage:"", +unknownLanguage:!1}),computed:{className(){ +return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){ +if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`), +this.unknownLanguage=!0,s(this.code);let t={} +;return this.autoDetect?(t=e.highlightAuto(this.code), +this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals), +this.detectedLanguage=this.language),t.value},autoDetect(){ +return!(this.language&&(e=this.autodetect,!e&&""!==e));var e}, +ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{ +class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{ +Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const D={ +"after:highlightElement":({el:e,result:t,text:n})=>{const i=H(e) +;if(!i.length)return;const a=document.createElement("div") +;a.innerHTML=t.value,t.value=((e,t,n)=>{let i=0,a="";const r=[];function l(){ +return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function c(e){ +a+=""}function g(e){("start"===e.event?o:c)(e.node)} +for(;e.length||t.length;){let t=l() +;if(a+=s(n.substring(i,t[0].offset)),i=t[0].offset,t===e){r.reverse().forEach(c) +;do{g(t.splice(0,1)[0]),t=l()}while(t===e&&t.length&&t[0].offset===i) +;r.reverse().forEach(o) +}else"start"===t[0].event?r.push(t[0].node):r.pop(),g(t.splice(0,1)[0])} +return a+s(n.substr(i))})(i,H(a),n)}};function C(e){ +return e.nodeName.toLowerCase()}function H(e){const t=[];return function e(n,i){ +for(let s=n.firstChild;s;s=s.nextSibling)3===s.nodeType?i+=s.nodeValue.length:1===s.nodeType&&(t.push({ +event:"start",offset:i,node:s}),i=e(s,i),C(s).match(/br|hr|img|input/)||t.push({ +event:"stop",offset:i,node:s}));return i}(e,0),t}const $={},U=e=>{ +console.error(e)},z=(e,...t)=>{console.log("WARN: "+e,...t)},K=(e,t)=>{ +$[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),$[`${e}/${t}`]=!0) +},G=s,V=a,W=Symbol("nomatch");return(e=>{ +const n=Object.create(null),s=Object.create(null),a=[];let r=!0 +;const l=/(^(<[^>]+>|\t|)+|\n)/gm,o="Could not find the language '{}', did you forget to load/include a language module?",g={ +disableAutodetect:!0,name:"Plain text",contains:[]};let u={ +noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +tabReplace:null,useBR:!1,languages:null,__emitter:c};function h(e){ +return u.noHighlightRe.test(e)}function d(e,t,n,i){let s="",a="" +;"object"==typeof t?(s=e, +n=t.ignoreIllegals,a=t.language,i=void 0):(K("10.7.0","highlight(lang, code, ...args) has been deprecated."), +K("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +a=e,s=t);const r={code:s,language:a};M("before:highlight",r) +;const l=r.result?r.result:f(r.language,r.code,n,i) +;return l.code=r.code,M("after:highlight",l),l}function f(e,t,s,l){ +function c(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0] +;return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]} +function g(){null!=R.subLanguage?(()=>{if(""===M)return;let e=null +;if("string"==typeof R.subLanguage){ +if(!n[R.subLanguage])return void k.addText(M) +;e=f(R.subLanguage,M,!0,_[R.subLanguage]),_[R.subLanguage]=e.top +}else e=p(M,R.subLanguage.length?R.subLanguage:null) +;R.relevance>0&&(O+=e.relevance),k.addSublanguage(e.emitter,e.language) +})():(()=>{if(!R.keywords)return void k.addText(M);let e=0 +;R.keywordPatternRe.lastIndex=0;let t=R.keywordPatternRe.exec(M),n="";for(;t;){ +n+=M.substring(e,t.index);const i=c(R,t);if(i){const[e,s]=i +;if(k.addText(n),n="",O+=s,e.startsWith("_"))n+=t[0];else{ +const n=v.classNameAliases[e]||e;k.addKeyword(t[0],n)}}else n+=t[0] +;e=R.keywordPatternRe.lastIndex,t=R.keywordPatternRe.exec(M)} +n+=M.substr(e),k.addText(n)})(),M=""}function h(e){ +return e.className&&k.openNode(v.classNameAliases[e.className]||e.className), +R=Object.create(e,{parent:{value:R}}),R}function d(e,t,n){let s=((e,t)=>{ +const n=e&&e.exec(t);return n&&0===n.index})(e.endRe,n);if(s){if(e["on:end"]){ +const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(s=!1)}if(s){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return d(e.parent,t,n)}function m(e){ +return 0===R.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function b(e){ +const n=e[0],i=t.substr(e.index),s=d(R,e,i);if(!s)return W;const a=R +;a.skip?M+=n:(a.returnEnd||a.excludeEnd||(M+=n),g(),a.excludeEnd&&(M=n));do{ +R.className&&k.closeNode(),R.skip||R.subLanguage||(O+=R.relevance),R=R.parent +}while(R!==s.parent) +;return s.starts&&(s.endSameAsBegin&&(s.starts.endRe=s.endRe), +h(s.starts)),a.returnEnd?0:n.length}let E={};function x(n,a){const l=a&&a[0] +;if(M+=n,null==l)return g(),0 +;if("begin"===E.type&&"end"===a.type&&E.index===a.index&&""===l){ +if(M+=t.slice(a.index,a.index+1),!r){const t=Error("0 width match regex") +;throw t.languageName=e,t.badRule=E.rule,t}return 1} +if(E=a,"begin"===a.type)return function(e){ +const t=e[0],n=e.rule,s=new i(n),a=[n.__beforeBegin,n["on:begin"]] +;for(const n of a)if(n&&(n(e,s),s.isMatchIgnored))return m(t) +;return n&&n.endSameAsBegin&&(n.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")), +n.skip?M+=t:(n.excludeBegin&&(M+=t), +g(),n.returnBegin||n.excludeBegin||(M=t)),h(n),n.returnBegin?0:t.length}(a) +;if("illegal"===a.type&&!s){ +const e=Error('Illegal lexeme "'+l+'" for mode "'+(R.className||"")+'"') +;throw e.mode=R,e}if("end"===a.type){const e=b(a);if(e!==W)return e} +if("illegal"===a.type&&""===l)return 1 +;if(L>1e5&&L>3*a.index)throw Error("potential infinite loop, way more iterations than matches") +;return M+=l,l.length}const v=N(e) +;if(!v)throw U(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const w=T(v,{plugins:a});let y="",R=l||w;const _={},k=new u.__emitter(u);(()=>{ +const e=[];for(let t=R;t!==v;t=t.parent)t.className&&e.unshift(t.className) +;e.forEach((e=>k.openNode(e)))})();let M="",O=0,A=0,L=0,I=!1;try{ +for(R.matcher.considerAll();;){ +L++,I?I=!1:R.matcher.considerAll(),R.matcher.lastIndex=A +;const e=R.matcher.exec(t);if(!e)break;const n=x(t.substring(A,e.index),e) +;A=e.index+n}return x(t.substr(A)),k.closeAllNodes(),k.finalize(),y=k.toHTML(),{ +relevance:Math.floor(O),value:y,language:e,illegal:!1,emitter:k,top:R}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{ +msg:n.message,context:t.slice(A-100,A+100),mode:n.mode},sofar:y,relevance:0, +value:G(t),emitter:k};if(r)return{illegal:!1,relevance:0,value:G(t),emitter:k, +language:e,top:R,errorRaised:n};throw n}}function p(e,t){ +t=t||u.languages||Object.keys(n);const i=(e=>{const t={relevance:0, +emitter:new u.__emitter(u),value:G(e),illegal:!1,top:g} +;return t.emitter.addText(e),t})(e),s=t.filter(N).filter(k).map((t=>f(t,e,!1))) +;s.unshift(i);const a=s.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1 +;if(N(t.language).supersetOf===e.language)return-1}return 0})),[r,l]=a,o=r +;return o.second_best=l,o}const m={"before:highlightElement":({el:e})=>{ +u.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")) +},"after:highlightElement":({result:e})=>{ +u.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},b=/^(<[^>]+>|\t)+/gm,E={ +"after:highlightElement":({result:e})=>{ +u.tabReplace&&(e.value=e.value.replace(b,(e=>e.replace(/\t/g,u.tabReplace))))}} +;function x(e){let t=null;const n=(e=>{let t=e.className+" " +;t+=e.parentNode?e.parentNode.className:"";const n=u.languageDetectRe.exec(t) +;if(n){const t=N(n[1]) +;return t||(z(o.replace("{}",n[1])),z("Falling back to no-highlight mode for this block.",e)), +t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>h(e)||N(e)))})(e) +;if(h(n))return;M("before:highlightElement",{el:e,language:n}),t=e +;const i=t.textContent,a=n?d(i,{language:n,ignoreIllegals:!0}):p(i) +;M("after:highlightElement",{el:e,result:a,text:i +}),e.innerHTML=a.value,((e,t,n)=>{const i=t?s[t]:n +;e.classList.add("hljs"),i&&e.classList.add(i)})(e,n,a.language),e.result={ +language:a.language,re:a.relevance,relavance:a.relevance +},a.second_best&&(e.second_best={language:a.second_best.language, +re:a.second_best.relevance,relavance:a.second_best.relevance})}const v=()=>{ +v.called||(v.called=!0, +K("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."), +document.querySelectorAll("pre code").forEach(x))};let w=!1;function y(){ +"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(x):w=!0 +}function N(e){return e=(e||"").toLowerCase(),n[e]||n[s[e]]} +function R(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +s[e.toLowerCase()]=t}))}function k(e){const t=N(e) +;return t&&!t.disableAutodetect}function M(e,t){const n=e;a.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +w&&y()}),!1),Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:y, +fixMarkup:e=>{ +return K("10.2.0","fixMarkup will be removed entirely in v11.0"),K("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"), +t=e, +u.tabReplace||u.useBR?t.replace(l,(e=>"\n"===e?u.useBR?"
":e:u.tabReplace?e.replace(/\t/g,u.tabReplace):e)):t +;var t},highlightElement:x, +highlightBlock:e=>(K("10.7.0","highlightBlock will be removed entirely in v12.0"), +K("10.7.0","Please use highlightElement now."),x(e)),configure:e=>{ +e.useBR&&(K("10.3.0","'useBR' will be removed entirely in v11.0"), +K("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")), +u=V(u,e)},initHighlighting:v,initHighlightingOnLoad:()=>{ +K("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."), +w=!0},registerLanguage:(t,i)=>{let s=null;try{s=i(e)}catch(e){ +if(U("Language definition for '{}' could not be registered.".replace("{}",t)), +!r)throw e;U(e),s=g} +s.name||(s.name=t),n[t]=s,s.rawDefinition=i.bind(null,e),s.aliases&&R(s.aliases,{ +languageName:t})},unregisterLanguage:e=>{delete n[e] +;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, +listLanguages:()=>Object.keys(n),getLanguage:N,registerAliases:R, +requireLanguage:e=>{ +K("10.4.0","requireLanguage will be removed entirely in v11."), +K("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844") +;const t=N(e);if(t)return t +;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))}, +autoDetection:k,inherit:V,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),a.push(e)}, +vuePlugin:P(e).VuePlugin}),e.debugMode=()=>{r=!1},e.safeMode=()=>{r=!0 +},e.versionString="10.7.2";for(const e in _)"object"==typeof _[e]&&t(_[e]) +;return Object.assign(e,_),e.addPlugin(m),e.addPlugin(D),e.addPlugin(E),e})({}) +}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); +hljs.registerLanguage("apache",(()=>{"use strict";return e=>{const n={ +className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/} +;return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0, +contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/, +contains:[n,{className:"number",begin:/:\d{1,5}/ +},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute", +begin:/\w+/,relevance:0,keywords:{ +nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername" +},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"}, +contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable", +begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}] +},n,{className:"number",begin:/\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}} +})()); +hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ +return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s +})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ +begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ +begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] +},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/, +keyword:"if then else elif fi for while in do done case esac function", +literal:"true false", +built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" +},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ +},{className:"string",begin:/'/,end:/'/},n]}}})()); +hljs.registerLanguage("c",(()=>{"use strict";function e(e){ +return((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(",e,")?") +}return t=>{const n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),r="[a-zA-Z_]\\w*::",a="(decltype\\(auto\\)|"+e(r)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",i={ +className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string", +variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", +contains:[t.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},t.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},t.inherit(s,{className:"meta-string"}),{ +className:"meta-string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},l={ +className:"title",begin:e(r)+t.IDENT_RE,relevance:0 +},d=e(r)+t.IDENT_RE+"\\s*\\(",u={ +keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary", +literal:"true false nullptr NULL"},m=[c,i,n,t.C_BLOCK_COMMENT_MODE,o,s],p={ +variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ +beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:m.concat([{ +begin:/\(/,end:/\)/,keywords:u,contains:m.concat(["self"]),relevance:0}]), +relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d, +returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/, +contains:[{begin:"decltype\\(auto\\)",keywords:u,relevance:0},{begin:d, +returnBegin:!0,contains:[l],relevance:0},{className:"params",begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,s,o,i,{ +begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:["self",n,t.C_BLOCK_COMMENT_MODE,s,o,i]}] +},i,n,t.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"",keywords:u,contains:["self",i]},{begin:t.IDENT_RE+"::",keywords:u},{ +className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, +contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{ +preprocessor:c,strings:s,keywords:u}}}})()); +hljs.registerLanguage("coffeescript",(()=>{"use strict" +;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;return r=>{const t={ +keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"], +e=>!i.includes(e))),literal:n.concat(["yes","no","on","off"]), +built_in:a.concat(["npm","print"])};var i;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={ +className:"subst",begin:/#\{/,end:/\}/,keywords:t +},c=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?", +relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/, +contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE] +},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/, +contains:[r.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///", +end:"///",contains:[o,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)", +relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s +},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{ +begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c +;const l=r.inherit(r.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={ +className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/, +end:/\)/,keywords:t,contains:["self"].concat(c)}]};return{name:"CoffeeScript", +aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/, +contains:c.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{ +className:"function",begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0, +contains:[l,g]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function", +begin:d,end:"[-=]>",returnBegin:!0,contains:[g]}]},{className:"class", +beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{ +beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[l]},l] +},{begin:s+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}})()); +hljs.registerLanguage("cpp",(()=>{"use strict";function e(e){ +return t("(",e,")?")}function t(...e){return e.map((e=>{ +return(t=e)?"string"==typeof t?t:t.source:null;var t})).join("")}return n=>{ +const r=n.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+e(a)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",s={ +className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string", +variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", +contains:[n.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},n.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},n.inherit(c,{className:"meta-string"}),{ +className:"meta-string",begin:/<.*?>/},r,n.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:e(a)+n.IDENT_RE,relevance:0 +},u=e(a)+n.IDENT_RE+"\\s*\\(",m={ +keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", +built_in:"_Bool _Complex _Imaginary", +_relevance_hints:["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"], +literal:"true false nullptr NULL"},p={className:"function.dispatch",relevance:0, +keywords:m, +begin:t(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,n.IDENT_RE,(_=/\s*\(/, +t("(?=",_,")")))};var _;const g=[p,l,s,r,n.C_BLOCK_COMMENT_MODE,o,c],b={ +variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ +beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:g.concat([{ +begin:/\(/,end:/\)/,keywords:m,contains:g.concat(["self"]),relevance:0}]), +relevance:0},f={className:"function",begin:"("+i+"[\\*&\\s]+)+"+u, +returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/, +contains:[{begin:"decltype\\(auto\\)",keywords:m,relevance:0},{begin:u, +returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/, +endsWithParent:!0,contains:[c,o]},{className:"params",begin:/\(/,end:/\)/, +keywords:m,relevance:0,contains:[r,n.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/, +end:/\)/,keywords:m,relevance:0,contains:["self",r,n.C_BLOCK_COMMENT_MODE,c,o,s] +}]},s,r,n.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"",keywords:m,contains:["self",s]},{begin:n.IDENT_RE+"::",keywords:m},{ +className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, +contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{ +preprocessor:l,strings:c,keywords:m}}}})()); +hljs.registerLanguage("csharp",(()=>{"use strict";return e=>{const n={ +keyword:["abstract","as","base","break","case","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},a=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},t=e.inherit(s,{illegal:/\n/}),r={className:"subst",begin:/\{/,end:/\}/, +keywords:n},l=e.inherit(r,{illegal:/\n/}),c={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,l]},o={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},r]},d=e.inherit(o,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]}) +;r.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE], +l.contains=[d,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},a] +},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,i,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"meta-string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,i,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}})()); +hljs.registerLanguage("css",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return n=>{const a=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"}, +contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ +className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", +contains:[a.HEXCOLOR,a.IMPORTANT,n.CSS_NUMBER_MODE,...l,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] +},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ +begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), +end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", +begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, +relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" +},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b"}]};var s}})()); +hljs.registerLanguage("diff",(()=>{"use strict";return e=>({name:"Diff", +aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{ +begin:/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{ +begin:/^--- +\d+,\d+ +----$/}]},{className:"comment",variants:[{begin:/Index: /, +end:/$/},{begin:/^index/,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^-{3}/,end:/$/ +},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/},{ +begin:/^diff --git/,end:/$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]})})()); +hljs.registerLanguage("go",(()=>{"use strict";return e=>{const n={ +keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune", +literal:"true false iota nil", +built_in:"append cap close complex copy imag len make new panic print println real recover delete" +};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{"use strict";function e(...e){ +return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n +})).join("")}return n=>{const a="HTTP/(2|1\\.[01])",s={className:"attribute", +begin:e("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{ +className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]} +},t=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{ +name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})", +end:/$/,contains:[{className:"meta",begin:a},{className:"number", +begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:t}},{ +begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string", +begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{ +className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:t} +},n.inherit(s,{relevance:0})]}}})()); +hljs.registerLanguage("ini",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(...n){ +return n.map((n=>e(n))).join("")}return s=>{const a={className:"number", +relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:s.NUMBER_RE}] +},i=s.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const t={ +className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ +}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={ +className:"string",contains:[s.BACKSLASH_ESCAPE],variants:[{begin:"'''", +end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' +},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,a,"self"], +relevance:0 +},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map((n=>e(n))).join("|")+")" +;return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr", +starts:{end:/$/,contains:[i,c,r,t,l,a]}}]}}})()); +hljs.registerLanguage("java",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{ +var n="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s={ +className:"meta",begin:"@[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", +contains:[{begin:/\(/,end:/\)/,contains:["self"]}]};const r=a;return{ +name:"Java",aliases:["jsp"],keywords:n,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +className:"class",beginKeywords:"class interface enum",end:/[{;=]/, +excludeEnd:!0,relevance:1,keywords:"class interface enum",illegal:/[:"\[\]]/, +contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{className:"class", +begin:"record\\s+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,excludeEnd:!0, +end:/[{;=]/,keywords:n,contains:[{beginKeywords:"record"},{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, +keywords:n,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"function", +begin:"([\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(<[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(\\s*,\\s*[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(", +returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, +keywords:n,relevance:0, +contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,r,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},r,s]}}})()); +hljs.registerLanguage("javascript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;function r(e){return t("(?=",e,")")}function t(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ +const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, +isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,s=e.input[a] +;"<"!==s?">"===s&&(((e,{after:n})=>{const a="", +returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ +begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 +},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] +},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ +variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, +end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, +contains:["self"]}]}],relevance:0},{className:"function", +beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, +contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),p],illegal:/%/},{ +beginKeywords:"while if switch catch for"},{className:"function", +begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,contains:[p,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ +begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", +beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ +beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, +end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",p] +},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", +contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},p]},{begin:/\$[(.]/}] +}}})()); +hljs.registerLanguage("json",(()=>{"use strict";return n=>{const e={ +literal:"true false null" +},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],a=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],l={ +end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},t={begin:/\{/, +end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/, +contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(l,{begin:/:/ +})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(l)], +illegal:"\\S"};return a.push(t,s),i.forEach((n=>{a.push(n)})),{name:"JSON", +contains:a,keywords:e,illegal:"\\S"}}})()); +hljs.registerLanguage("kotlin",(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"meta-string"})]}] +},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 +},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{className:"class", +beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, +excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},o]}}})()); +hljs.registerLanguage("less",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],n=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse(),r=i.concat(o) +;return a=>{const s=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(a),l=r,d="([\\w-]+|@\\{[\\w-]+\\})",c=[],g=[],b=e=>({className:"string", +begin:"~?"+e+".*?"+e}),m=(e,t,i)=>({className:e,begin:t,relevance:i}),u={ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},p={ +begin:"\\(",end:"\\)",contains:g,keywords:u,relevance:0} +;g.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b("'"),b('"'),a.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},s.HEXCOLOR,p,m("variable","@@?[\\w-]+",10),m("variable","@\\{[\\w-]+\\}"),m("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},s.IMPORTANT);const f=g.concat({begin:/\{/,end:/\}/,contains:c}),h={ +beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not" +}].concat(g)},w={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0, +contains:[{begin:/-(webkit|moz|ms|o)-/},{className:"attribute", +begin:"\\b("+n.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0, +illegal:"[<=$]",relevance:0,contains:g}}]},v={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:u,returnEnd:!0,contains:g,relevance:0}},y={ +className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ +begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:f}},k={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,h,m("keyword","all\\b"),m("variable","@\\{[\\w-]+\\}"),{ +begin:"\\b("+e.join("|")+")\\b",className:"selector-tag" +},m("selector-tag",d+"%?",0),m("selector-id","#"+d),m("selector-class","\\."+d,0),m("selector-tag","&",0),s.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+i.join("|")+")"},{ +className:"selector-pseudo",begin:"::("+o.join("|")+")"},{begin:"\\(",end:"\\)", +contains:f},{begin:"!important"}]},E={begin:`[\\w-]+:(:)?(${l.join("|")})`, +returnBegin:!0,contains:[k]} +;return c.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,v,y,E,w,k),{ +name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:c}}})()); +hljs.registerLanguage("lua",(()=>{"use strict";return e=>{ +const t="\\[=*\\[",a="\\]=*\\]",n={begin:t,end:a,contains:["self"] +},o=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",a,{contains:[n], +relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:o}].concat(o) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:t,end:a,contains:[n],relevance:5}])}}})()); +hljs.registerLanguage("makefile",(()=>{"use strict";return e=>{const i={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ +return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ +const t=a(/[A-Z_]/,a("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/, +contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},c=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ +className:"meta-string"}),g=e.inherit(e.QUOTE_STRING_MODE,{ +className:"meta-string"}),m={endsWithParent:!0,illegal:/`]+/}]}] +}]};return{name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,contains:[{className:"meta",begin://, +relevance:10,contains:[r,g,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta", +begin://,contains:[r,c,g,l]}]}]},e.COMMENT(//,{ +relevance:10}),{begin://,relevance:10},i,{ +className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", +begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), +contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, +endsParent:!0}]}]}}})()); +hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ +return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e +})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", +subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 +},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ +className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], +variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ +className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ +begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) +;let t=[a,i] +;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), +t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})()); +hljs.registerLanguage("nginx",(()=>{"use strict";return e=>{const n={ +className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/\}/},{ +begin:/[$@]/+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{ +$pattern:"[a-z/_]+", +literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll" +},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string", +contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/ +}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n] +},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^", +end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{ +begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number", +begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{ +className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{ +name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{ +begin:e.UNDERSCORE_IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\{/,contains:[{ +className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{ +begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|\\{",returnBegin:!0,contains:[{ +className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}], +illegal:"[^\\s\\}]"}}})()); +hljs.registerLanguage("objectivec",(()=>{"use strict";return e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n, +keyword:"@interface @class @protocol @implementation"};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{$pattern:n, +keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN", +literal:"false true FALSE TRUE nil YES NO NULL", +built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once" +},illegal:"/,end:/$/, +illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:/(\{|$)/, +excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{ +begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}})()); +hljs.registerLanguage("perl",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(...n){ +return n.map((n=>e(n))).join("")}function t(...n){ +return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ +const r=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},a={begin:/->\{/, +end:/\}/},o={variants:[{begin:/\$\d/},{ +begin:n(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@][^\s\w{]/,relevance:0}] +},c=[e.BACKSLASH_ESCAPE,i,o],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,s="\\1")=>{ +const i="\\1"===s?s:n(s,t) +;return n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,s,r) +},d=(e,t,s)=>n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,s,r),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),a,{className:"string",contains:c,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", +begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", +relevance:0},{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:l("s|tr|y",t(...g))},{begin:l("s|tr|y","\\(","\\)")},{ +begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",t(...g),/\1/)},{ +begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ +begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ +begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", +subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] +}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:s, +contains:p}}})()); +hljs.registerLanguage("php",(()=>{"use strict";return e=>{const r={ +className:"variable", +begin:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?![A-Za-z0-9])(?![$])"},t={ +className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{ +begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/, +end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null, +contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({ +begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string", +contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'" +}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},s={className:"number",variants:[{ +begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?" +}],relevance:0},c={ +keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield", +literal:"false null true", +built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass" +};return{aliases:["php3","php4","php5","php6","php7","php8"], +case_insensitive:!0,keywords:c, +contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t] +}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}] +}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0, +keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{ +begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function", +relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0, +illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{ +begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0,keywords:c, +contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,s]}]},{className:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";", +contains:[e.UNDERSCORE_TITLE_MODE]},l,s]}}})()); +hljs.registerLanguage("php-template",(()=>{"use strict";return n=>({ +name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/, +subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"', +end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{ +illegal:null,className:null,contains:null,skip:!0 +}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null, +skip:!0})]}]})})()); +hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ +name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})()); +hljs.registerLanguage("properties",(()=>{"use strict";return e=>{ +var n="[ \\t\\f]*",a=n+"[:=]"+n,t="("+a+"|[ \\t\\f]+)",r="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={ +end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{ +begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties", +case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{ +returnBegin:!0,variants:[{begin:r+a,relevance:1},{begin:r+"[ \\t\\f]+", +relevance:0}],contains:[{className:"attr",begin:r,endsParent:!0,relevance:0}], +starts:i},{begin:s+t,returnBegin:!0,relevance:0,contains:[{className:"meta", +begin:s,endsParent:!0,relevance:0}],starts:i},{className:"attr",relevance:0, +begin:s+n+"$"}]}}})()); +hljs.registerLanguage("python",(()=>{"use strict";return e=>{const n={ +$pattern:/[A-Za-z]\w+|__\w+__/, +keyword:["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"], +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/, +end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},t={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},r="[0-9](_?[0-9])*",l=`(\\b(${r}))?\\.(${r})|\\b(${r})\\.`,b={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${r})|(${l}))[eE][+-]?(${r})[jJ]?\\b`},{begin:`(${l})[jJ]?`},{ +begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{ +begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{ +begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${r})[jJ]\\b`}]},o={ +className:"comment", +begin:(d=/# type:/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",d,")")), +end:/$/,keywords:n,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/, +endsWithParent:!0}]},c={className:"params",variants:[{className:"", +begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0, +keywords:n,contains:["self",a,b,t,e.HASH_COMMENT_MODE]}]};var d +;return i.contains=[t,b,a],{name:"Python",aliases:["py","gyp","ipython"], +keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,b,{begin:/\bself\b/},{ +beginKeywords:"if",relevance:0},t,o,e.HASH_COMMENT_MODE,{variants:[{ +className:"function",beginKeywords:"def"},{className:"class", +beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/, +contains:[e.UNDERSCORE_TITLE_MODE,c,{begin:/->/,endsWithParent:!0,keywords:n}] +},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,c,t]}]}}})()); +hljs.registerLanguage("python-repl",(()=>{"use strict";return s=>({ +aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$", +subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{ +begin:/^\.\.\.(?=[ ]|$)/}]}]})})()); +hljs.registerLanguage("r",(()=>{"use strict";function e(...e){return e.map((e=>{ +return(a=e)?"string"==typeof a?a:a.source:null;var a})).join("")}return a=>{ +const n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/;return{name:"R", +illegal:/->/,keywords:{$pattern:n, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},compilerExtensions:[(a,n)=>{if(!a.beforeMatch)return +;if(a.starts)throw Error("beforeMatch cannot be used with starts") +;const i=Object.assign({},a);Object.keys(a).forEach((e=>{delete a[e] +})),a.begin=e(i.beforeMatch,e("(?=",i.begin,")")),a.starts={relevance:0, +contains:[Object.assign(i,{endsParent:!0})]},a.relevance=0,delete i.beforeMatch +}],contains:[a.COMMENT(/#'/,/$/,{contains:[{className:"doctag", +begin:"@examples",starts:{contains:[{begin:/\n/},{begin:/#'\s*(?=@[a-zA-Z]+)/, +endsParent:!0},{begin:/#'/,end:/$/,excludeBegin:!0}]}},{className:"doctag", +begin:"@param",end:/$/,contains:[{className:"variable",variants:[{begin:n},{ +begin:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{className:"doctag", +begin:/@[a-zA-Z]+/},{className:"meta-keyword",begin:/\\[a-zA-Z]+/}] +}),a.HASH_COMMENT_MODE,{className:"string",contains:[a.BACKSLASH_ESCAPE], +variants:[a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{className:"number",relevance:0, +beforeMatch:/([^a-zA-Z0-9._])/,variants:[{ +match:/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/},{ +match:/0[xX][0-9a-fA-F]+([pP][+-]?\d+)?[Li]?/},{ +match:/(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[Li]?/}]},{begin:"%",end:"%"},{ +begin:e(/[a-zA-Z][a-zA-Z_0-9]*/,"\\s+<-\\s+")},{begin:"`",end:"`",contains:[{ +begin:/\\./}]}]}}})()); +hljs.registerLanguage("ruby",(()=>{"use strict";function e(...e){ +return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n +})).join("")}return n=>{ +const a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={ +keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", +built_in:"proc lambda",literal:"true false nil"},s={className:"doctag", +begin:"@[A-Za-z]+"},r={begin:"#<",end:">"},b=[n.COMMENT("#","$",{contains:[s] +}),n.COMMENT("^=begin","^=end",{contains:[s],relevance:10 +}),n.COMMENT("^__END__","\\n$")],c={className:"subst",begin:/#\{/,end:/\}/, +keywords:i},t={className:"string",contains:[n.BACKSLASH_ESCAPE,c],variants:[{ +begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/, +end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{ +begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/, +end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{ +begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{ +begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:!0,contains:[{ +begin:/<<[-~]?'?/},n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[n.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",d={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},l={className:"params",begin:"\\(",end:"\\)", +endsParent:!0,keywords:i},o=[t,{className:"class",beginKeywords:"class module", +end:"$|;",illegal:/=/,contains:[n.inherit(n.TITLE_MODE,{ +begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{ +begin:"("+n.IDENT_RE+"::)?"+n.IDENT_RE,relevance:0}]}].concat(b)},{ +className:"function",begin:e(/def\s+/,(_=a+"\\s*(\\(|;|$)",e("(?=",_,")"))), +relevance:0,keywords:"def",end:"$|;",contains:[n.inherit(n.TITLE_MODE,{begin:a +}),l].concat(b)},{begin:n.IDENT_RE+"::"},{className:"symbol", +begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[t,{begin:a}],relevance:0},d,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{ +begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{ +className:"regexp",contains:[n.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{ +begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(", +end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}] +}].concat(r,b),relevance:0}].concat(r,b);var _;c.contains=o,l.contains=o +;const E=[{begin:/^\s*=>/,starts:{end:"$",contains:o}},{className:"meta", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",contains:o}}];return b.unshift(r),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/, +contains:[n.SHEBANG({binary:"ruby"})].concat(E).concat(b).concat(o)}}})()); +hljs.registerLanguage("rust",(()=>{"use strict";return e=>{ +const n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!" +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?", +keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield", +literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}})()); +hljs.registerLanguage("scss",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return a=>{const n=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(a),l=o,s=i,d="@[a-z-]+",c={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"};return{name:"SCSS",case_insensitive:!0, +illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+s.join("|")+")"},{className:"selector-pseudo", +begin:"::("+l.join("|")+")"},c,{begin:/\(/,end:/\)/,contains:[a.CSS_NUMBER_MODE] +},{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:":",end:";", +contains:[c,n.HEXCOLOR,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.IMPORTANT] +},{begin:"@(page|font-face)",lexemes:d,keywords:"@page @font-face"},{begin:"@", +end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:d, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.HEXCOLOR,a.CSS_NUMBER_MODE]}]}} +})()); +hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ +name:"Shell Session",aliases:["console"],contains:[{className:"meta", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})()); +hljs.registerLanguage("sql",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function r(...r){ +return r.map((r=>e(r))).join("")}function t(...r){ +return"("+r.map((r=>e(r))).join("|")+")"}return e=>{ +const n=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],o=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],c=s,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update ","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!s.includes(e))),u={ +begin:r(/\b/,t(...c),/\s*\(/),keywords:{built_in:c}};return{name:"SQL", +case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/, +keyword:((e,{exceptions:r,when:t}={})=>{const n=t +;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:n(e)?e+"|0":e)) +})(l,{when:e=>e.length<3}),literal:a,type:i, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:t(...o),keywords:{$pattern:/[\w\.]+/,keyword:l.concat(o), +literal:a,type:i}},{className:"type", +begin:t("double precision","large object","with timezone","without timezone") +},u,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ +begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ +begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator", +begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}})()); +hljs.registerLanguage("swift",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function t(...n){ +return"("+n.map((n=>e(n))).join("|")+")"} +const i=e=>a(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),u=["init","self"].map(i),c=["Any","Self"],r=["associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],o=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],d=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],p=t(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),F=t(p,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=a(p,F,"*"),h=t(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=t(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=a(h,f,"*"),y=a(/[A-Z]/,f,"*"),g=["autoclosure",a(/convention\(/,t("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",a(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","testable","UIApplicationMain","unknown","usableFromInline"],E=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;return e=>{const p={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ +contains:["self"]}),v=[e.C_LINE_COMMENT_MODE,h],N={className:"keyword", +begin:a(/\./,n(t(...s,...u))),end:t(...s,...u),excludeBegin:!0},A={ +match:a(/\./,t(...r)),relevance:0 +},C=r.filter((e=>"string"==typeof e)).concat(["_|0"]),_={variants:[{ +className:"keyword", +match:t(...r.filter((e=>"string"!=typeof e)).concat(c).map(i),...u)}]},D={ +$pattern:t(/\b\w+/,/#\w+/),keyword:C.concat(m),literal:o},B=[N,A,_],k=[{ +match:a(/\./,t(...d)),relevance:0},{className:"built_in", +match:a(/\b/,t(...d),/(?=\()/)}],M={match:/->/,relevance:0},S=[M,{ +className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${F})+`}] +}],x="([0-9a-fA-F]_*)+",I={className:"number",relevance:0,variants:[{ +match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ +match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ +match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},O=(e="")=>({ +className:"subst",variants:[{match:a(/\\/,e,/[0\\tnr"']/)},{ +match:a(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),T=(e="")=>({className:"subst", +match:a(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),L=(e="")=>({className:"subst", +label:"interpol",begin:a(/\\/,e,/\(/),end:/\)/}),P=(e="")=>({begin:a(e,/"""/), +end:a(/"""/,e),contains:[O(e),T(e),L(e)]}),$=(e="")=>({begin:a(e,/"/), +end:a(/"/,e),contains:[O(e),L(e)]}),K={className:"string", +variants:[P(),P("#"),P("##"),P("###"),$(),$("#"),$("##"),$("###")]},j={ +match:a(/`/,w,/`/)},z=[j,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${f}+`}],q=[{match:/(@|#)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:E, +contains:[...S,I,K]}]}},{className:"keyword",match:a(/@/,t(...g))},{ +className:"meta",match:a(/@/,w)}],U={match:n(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:a(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") +},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:a(/\s+&\s+/,n(y)),relevance:0}]},Z={ +begin://,keywords:D,contains:[...v,...B,...q,M,U]};U.contains.push(Z) +;const G={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:["self",{ +match:a(w,/\s*:/),keywords:"_|0",relevance:0 +},...v,...B,...k,...S,I,K,...z,...q,U]},H={beginKeywords:"func",contains:[{ +className:"title",match:t(j.match,w,b),endsParent:!0,relevance:0},p]},R={ +begin://,contains:[...v,U]},V={begin:/\(/,end:/\)/,keywords:D, +contains:[{begin:t(n(a(w,/\s*:/)),n(a(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}] +},...v,...B,...S,I,K,...q,U,G],endsParent:!0,illegal:/["']/},W={ +className:"function",match:n(/\bfunc\b/),contains:[H,R,V,p],illegal:[/\[/,/%/] +},X={className:"function",match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{ +keyword:"subscript init init? init!",$pattern:/\w+[?!]?/},contains:[R,V,p], +illegal:/\[|%/},J={beginKeywords:"operator",end:e.MATCH_NOTHING_RE,contains:[{ +className:"title",match:b,endsParent:!0,relevance:0}]},Q={ +beginKeywords:"precedencegroup",end:e.MATCH_NOTHING_RE,contains:[{ +className:"title",match:y,relevance:0},{begin:/{/,end:/}/,relevance:0, +endsParent:!0,keywords:[...l,...o],contains:[U]}]};for(const e of K.variants){ +const n=e.contains.find((e=>"interpol"===e.label));n.keywords=D +;const a=[...B,...k,...S,I,K,...z];n.contains=[...a,{begin:/\(/,end:/\)/, +contains:["self",...a]}]}return{name:"Swift",keywords:D,contains:[...v,W,X,{ +className:"class",beginKeywords:"struct protocol class extension enum", +end:"\\{",excludeEnd:!0,keywords:D,contains:[e.inherit(e.TITLE_MODE,{ +begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...B]},J,Q,{ +beginKeywords:"import",end:/$/,contains:[...v],relevance:0 +},...B,...k,...S,I,K,...z,...q,U,G]}}})()); +hljs.registerLanguage("typescript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;function t(e){return r("(?=",e,")")}function r(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ +const c={$pattern:e, +keyword:n.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]), +literal:a, +built_in:s.concat(["any","void","number","boolean","string","object","never","enum"]) +},o={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},l=(e,n,a)=>{ +const s=e.contains.findIndex((e=>e.label===n)) +;if(-1===s)throw Error("can not find mode to replace");e.contains.splice(s,1,a) +},b=(i=>{const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,s=e.input[a];"<"!==s?">"===s&&(((e,{after:n})=>{ +const a="", +returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ +begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 +},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] +},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ +variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, +end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, +contains:["self"]}]}],relevance:0},{className:"function", +beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, +contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),A],illegal:/%/},{ +beginKeywords:"while if switch catch for"},{className:"function", +begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,contains:[A,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ +begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", +beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ +beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, +end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",A] +},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", +contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},A]},{begin:/\$[(.]/}] +}})(i) +;return Object.assign(b.keywords,c),b.exports.PARAMS_CONTAINS.push(o),b.contains=b.contains.concat([o,{ +beginKeywords:"namespace",end:/\{/,excludeEnd:!0},{beginKeywords:"interface", +end:/\{/,excludeEnd:!0,keywords:"interface extends" +}]),l(b,"shebang",i.SHEBANG()),l(b,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),b.contains.find((e=>"function"===e.className)).relevance=0,Object.assign(b,{ +name:"TypeScript",aliases:["ts","tsx"]}),b}})()); +hljs.registerLanguage("vbnet",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(...n){ +return n.map((n=>e(n))).join("")}function t(...n){ +return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ +const a=/\d{1,2}\/\d{1,2}\/\d{4}/,i=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,o={ +className:"literal",variants:[{begin:n(/# */,t(i,a),/ *#/)},{ +begin:n(/# */,r,/ *#/)},{begin:n(/# */,s,/ *#/)},{ +begin:n(/# */,t(i,a),/ +/,t(s,r),/ *#/)}]},l=e.COMMENT(/'''/,/$/,{contains:[{ +className:"doctag",begin:/<\/?/,end:/>/}]}),c=e.COMMENT(null,/$/,{variants:[{ +begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET", +aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{ +keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", +built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", +type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", +literal:"true false nothing"}, +illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ +className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, +end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o,{className:"number",relevance:0, +variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ +},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ +begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ +className:"label",begin:/^\w+:/},l,c,{className:"meta", +begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, +end:/$/,keywords:{ +"meta-keyword":"const disable else elseif enable end externalsource if region then" +},contains:[c]}]}}})()); +hljs.registerLanguage("yaml",(()=>{"use strict";return e=>{ +var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, +end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", +contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] +;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:b}}})()); \ No newline at end of file diff --git a/CodeCoverageReport/js/highlightjs-line-numbers.min.js b/CodeCoverageReport/js/highlightjs-line-numbers.min.js new file mode 100644 index 000000000..854857670 --- /dev/null +++ b/CodeCoverageReport/js/highlightjs-line-numbers.min.js @@ -0,0 +1,24 @@ +/* +The MIT License (MIT) + +Copyright (c) 2017 Yauheni Pakala + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + */ +!function(r,o){"use strict";var e,i="hljs-ln",l="hljs-ln-line",h="hljs-ln-code",s="hljs-ln-numbers",c="hljs-ln-n",m="data-line-number",a=/\r\n|\r|\n/g;function u(e){for(var n=e.toString(),t=e.anchorNode;"TD"!==t.nodeName;)t=t.parentNode;for(var r=e.focusNode;"TD"!==r.nodeName;)r=r.parentNode;var o=parseInt(t.dataset.lineNumber),a=parseInt(r.dataset.lineNumber);if(o==a)return n;var i,l=t.textContent,s=r.textContent;for(a
{6}',[l,s,c,m,h,o+n.startFrom,0{1}',[i,r])}return e}(e.innerHTML,o)}function v(e){var n=e.className;if(/hljs-/.test(n)){for(var t=g(e.innerHTML),r=0,o="";r{1}
\n',[n,0 + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..06ef68b7f --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..2cd99f9da --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..b1a688abc --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..c5fe72ec1 --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html new file mode 100644 index 000000000..67c66b94c --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..a590fb880 --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..b410bf01b --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..fd3edff8e --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..2f46f7b3a --- /dev/null +++ b/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,1119 @@ + + + + + + Coverage Report > com.google.maps + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps + + 95.3% + + + (61/64) + + + + 79.2% + + + (328/414) + + + + 57.8% + + + (185/320) + + + + 78.1% + + + (823/1054) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
TimeZoneApi + + 100% + + + (2/2) + + + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
TextSearchRequest + + 100% + + + (2/2) + + + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
StaticMapsRequest + + 100% + + + (7/7) + + + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
RoadsApi + + 100% + + + (3/3) + + + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
QueryAutocompleteRequest + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + + 72.5% + + + (29/40) + +
PlaceDetailsRequest + + 100% + + + (3/3) + + + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
PlaceAutocompleteRequest + + 100% + + + (3/3) + + + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
OkHttpRequestHandler + + 100% + + + (2/2) + + + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
NearbySearchRequest + + 100% + + + (2/2) + + + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
ImageResult + + 50% + + + (1/2) + + + + 20% + + + (1/5) + + + + + 50% + + + (4/8) + +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
GeolocationApi + + 100% + + + (2/2) + + + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
GeocodingApi + + 100% + + + (2/2) + + + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
GeoApiContext + + 100% + + + (2/2) + + + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
GaeRequestHandler + + 0% + + + (0/2) + + + + 0% + + + (0/15) + + + + + 0% + + + (0/32) + +
FindPlaceFromTextRequest + + 100% + + + (8/8) + + + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
ElevationApi + + 100% + + + (3/3) + + + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
DistanceMatrixApi + + 100% + + + (2/2) + + + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
DirectionsApiRequest + + 100% + + + (2/2) + + + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
DirectionsApi + + 100% + + + (3/3) + + + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1.html b/CodeCoverageReport/ns-1/sources/source-1.html new file mode 100644 index 000000000..fc8451c94 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1.html @@ -0,0 +1,304 @@ + + + + + + + + Coverage Report > DirectionsApi + + + + + + +
+ + +

Coverage Summary for Class: DirectionsApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
DirectionsApi + + 75% + + + (3/4) + + + + 75% + + + (3/4) + +
DirectionsApi$Response + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 88.9% + + + (8/9) + +
DirectionsApi$RouteRestriction + + 75% + + + (3/4) + + + + 90% + + + (9/10) + +
Total + + 83.3% + + + (10/12) + + + + 50% + + + (1/2) + + + + 87% + + + (20/23) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import com.google.maps.model.DirectionsResult;
+ import com.google.maps.model.DirectionsRoute;
+ import com.google.maps.model.GeocodedWaypoint;
+ 
+ /**
+  * The Google Directions API is a service that calculates directions between locations using an HTTP
+  * request. You can search for directions for several modes of transportation, include transit,
+  * driving, walking, or cycling. Directions may specify origins, destinations, and waypoints, either
+  * as text strings (e.g. "Chicago, IL" or "Darwin, NT, Australia") or as latitude/longitude
+  * coordinates. The Directions API can return multi-part directions using a series of waypoints.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro">the Directions
+  * API Developer's Guide</a> for more information.
+  */
+ public class DirectionsApi {
+   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/directions/json");
+ 
+   private DirectionsApi() {}
+ 
+   /**
+    * Creates a new DirectionsApiRequest using the given context, with all attributes at their
+    * default values.
+    *
+    * @param context Context that the DirectionsApiRequest will be executed against
+    * @return A newly constructed DirectionsApiRequest between the given points.
+    */
+   public static DirectionsApiRequest newRequest(GeoApiContext context) {
+     return new DirectionsApiRequest(context);
+   }
+ 
+   /**
+    * Creates a new DirectionsApiRequest between the given origin and destination, using the defaults
+    * for all other options.
+    *
+    * @param context Context that the DirectionsApiRequest will be executed against
+    * @param origin Origin address as text
+    * @param destination Destination address as text
+    * @return A newly constructed DirectionsApiRequest between the given points.
+    */
+   public static DirectionsApiRequest getDirections(
+       GeoApiContext context, String origin, String destination) {
+     return new DirectionsApiRequest(context).origin(origin).destination(destination);
+   }
+ 
+   public static class Response implements ApiResponse<DirectionsResult> {
+     public String status;
+     public String errorMessage;
+     public GeocodedWaypoint[] geocodedWaypoints;
+     public DirectionsRoute[] routes;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status);
+     }
+ 
+     @Override
+     public DirectionsResult getResult() {
+       DirectionsResult result = new DirectionsResult();
+       result.geocodedWaypoints = geocodedWaypoints;
+       result.routes = routes;
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ 
+   /**
+    * Directions may be calculated that adhere to certain restrictions. This is configured by calling
+    * {@link com.google.maps.DirectionsApiRequest#avoid} or {@link
+    * com.google.maps.DistanceMatrixApiRequest#avoid}.
+    *
+    * @see <a href="https://developers.google.com/maps/documentation/directions/intro#Restrictions">
+    *     Restrictions in the Directions API</a>
+    * @see <a
+    *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters">
+    *     Distance Matrix API Request Parameters</a>
+    */
+   public enum RouteRestriction implements UrlValue {
+ 
+     /** Indicates that the calculated route should avoid toll roads/bridges. */
+     TOLLS("tolls"),
+ 
+     /** Indicates that the calculated route should avoid highways. */
+     HIGHWAYS("highways"),
+ 
+     /** Indicates that the calculated route should avoid ferries. */
+     FERRIES("ferries"),
+ 
+     /** Indicates that the calculated route should avoid indoor areas. */
+     INDOOR("indoor");
+ 
+     private final String restriction;
+ 
+     RouteRestriction(String restriction) {
+       this.restriction = restriction;
+     }
+ 
+     @Override
+     public String toString() {
+       return restriction;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return restriction;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-10.html b/CodeCoverageReport/ns-1/sources/source-10.html new file mode 100644 index 000000000..ce444c1fe --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-10.html @@ -0,0 +1,353 @@ + + + + + + + + Coverage Report > OkHttpRequestHandler + + + + + + +
+ + +

Coverage Summary for Class: OkHttpRequestHandler (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
OkHttpRequestHandler + + 100% + + + (5/5) + + + + 100% + + + (4/4) + + + + 100% + + + (21/21) + +
OkHttpRequestHandler$Builder + + 30% + + + (3/10) + + + + 44.1% + + + (15/34) + +
Total + + 53.3% + + + (8/15) + + + + 100% + + + (4/4) + + + + 65.5% + + + (36/55) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.GeoApiContext.RequestHandler;
+ import com.google.maps.android.AndroidAuthenticationConfig;
+ import com.google.maps.android.AndroidAuthenticationConfigProvider;
+ import com.google.maps.android.AndroidAuthenticationInterceptor;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.ExceptionsAllowedToRetry;
+ import com.google.maps.internal.OkHttpPendingResult;
+ import com.google.maps.internal.RateLimitExecutorService;
+ import com.google.maps.metrics.RequestMetrics;
+ import java.net.Proxy;
+ import java.util.Map;
+ import java.util.Map.Entry;
+ import java.util.concurrent.ExecutorService;
+ import java.util.concurrent.TimeUnit;
+ import okhttp3.Credentials;
+ import okhttp3.Dispatcher;
+ import okhttp3.MediaType;
+ import okhttp3.OkHttpClient;
+ import okhttp3.Request;
+ import okhttp3.RequestBody;
+ 
+ /**
+  * A strategy for handling URL requests using OkHttp.
+  *
+  * @see com.google.maps.GeoApiContext.RequestHandler
+  */
+ public class OkHttpRequestHandler implements GeoApiContext.RequestHandler {
+   private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
+   private final OkHttpClient client;
+   private final ExecutorService executorService;
+ 
+   /* package */ OkHttpRequestHandler(OkHttpClient client, ExecutorService executorService) {
+     this.client = client;
+     this.executorService = executorService;
+   }
+ 
+   @Override
+   public <T, R extends ApiResponse<T>> PendingResult<T> handle(
+       String hostName,
+       String url,
+       Map<String, String> headers,
+       Class<R> clazz,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeout,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     Request.Builder builder = new Request.Builder().get();
+     for (Entry<String, String> entry : headers.entrySet()) {
+       builder = builder.header(entry.getKey(), entry.getValue());
+     }
+     Request req = builder.url(hostName + url).build();
+ 
+     return new OkHttpPendingResult<>(
+         req,
+         client,
+         clazz,
+         fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         metrics);
+   }
+ 
+   @Override
+   public <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
+       String hostName,
+       String url,
+       String payload,
+       Map<String, String> headers,
+       Class<R> clazz,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeout,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     RequestBody body = RequestBody.create(JSON, payload);
+     Request.Builder builder = new Request.Builder().post(body);
+     for (Entry<String, String> entry : headers.entrySet()) {
+       builder = builder.header(entry.getKey(), entry.getValue());
+     }
+     Request req = builder.url(hostName + url).build();
+ 
+     return new OkHttpPendingResult<>(
+         req,
+         client,
+         clazz,
+         fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         metrics);
+   }
+ 
+   @Override
+   public void shutdown() {
+     executorService.shutdown();
+     client.connectionPool().evictAll();
+   }
+ 
+   /** Builder strategy for constructing an {@code OkHTTPRequestHandler}. */
+   public static class Builder implements GeoApiContext.RequestHandler.Builder {
+     private final OkHttpClient.Builder builder;
+     private final RateLimitExecutorService rateLimitExecutorService;
+     private final Dispatcher dispatcher;
+ 
+     public Builder() {
+       builder = new OkHttpClient.Builder();
+       rateLimitExecutorService = new RateLimitExecutorService();
+       dispatcher = new Dispatcher(rateLimitExecutorService);
+       builder.dispatcher(dispatcher);
+ 
+       final AndroidAuthenticationConfigProvider provider =
+           new AndroidAuthenticationConfigProvider();
+       final AndroidAuthenticationConfig config = provider.provide();
+       builder.addInterceptor(new AndroidAuthenticationInterceptor(config));
+     }
+ 
+     @Override
+     public Builder connectTimeout(long timeout, TimeUnit unit) {
+       builder.connectTimeout(timeout, unit);
+       return this;
+     }
+ 
+     @Override
+     public Builder readTimeout(long timeout, TimeUnit unit) {
+       builder.readTimeout(timeout, unit);
+       return this;
+     }
+ 
+     @Override
+     public Builder writeTimeout(long timeout, TimeUnit unit) {
+       builder.writeTimeout(timeout, unit);
+       return this;
+     }
+ 
+     @Override
+     public Builder queriesPerSecond(int maxQps) {
+       dispatcher.setMaxRequests(maxQps);
+       dispatcher.setMaxRequestsPerHost(maxQps);
+       rateLimitExecutorService.setQueriesPerSecond(maxQps);
+       return this;
+     }
+ 
+     @Override
+     public Builder proxy(Proxy proxy) {
+       builder.proxy(proxy);
+       return this;
+     }
+ 
+     @Override
+     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
+       final String userName = proxyUserName;
+       final String password = proxyUserPassword;
+       builder.proxyAuthenticator(
+           (route, response) -> {
+             String credential = Credentials.basic(userName, password);
+             return response
+                 .request()
+                 .newBuilder()
+                 .header("Proxy-Authorization", credential)
+                 .build();
+           });
+       return this;
+     }
+ 
+     /**
+      * Gets a reference to the OkHttpClient.Builder used to build the OkHttpRequestHandler's
+      * internal OkHttpClient. This allows you to fully customize the OkHttpClient that the resulting
+      * OkHttpRequestHandler will make HTTP requests through.
+      *
+      * @return OkHttpClient.Builder that will produce the OkHttpClient used by the
+      *     OkHttpRequestHandler built by this.
+      */
+     public OkHttpClient.Builder okHttpClientBuilder() {
+       return builder;
+     }
+ 
+     @Override
+     public RequestHandler build() {
+       OkHttpClient client = builder.build();
+       return new OkHttpRequestHandler(client, rateLimitExecutorService);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-11.html b/CodeCoverageReport/ns-1/sources/source-11.html new file mode 100644 index 000000000..e16873f18 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-11.html @@ -0,0 +1,319 @@ + + + + + + + + Coverage Report > PendingResultBase + + + + + + +
+ + +

Coverage Summary for Class: PendingResultBase (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PendingResultBase + + 100% + + + (1/1) + + + + 88.9% + + + (16/18) + + + + 63.6% + + + (14/22) + + + + 78% + + + (39/50) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.HttpHeaders;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.io.IOException;
+ import java.util.ArrayList;
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ 
+ /**
+  * Base implementation for {@code PendingResult}.
+  *
+  * <p>{@code T} is the class of the result, {@code A} is the actual base class of this abstract
+  * class, and R is the type of the request.
+  */
+ abstract class PendingResultBase<T, A extends PendingResultBase<T, A, R>, R extends ApiResponse<T>>
+     implements PendingResult<T> {
+ 
+   private final GeoApiContext context;
+   private final ApiConfig config;
+   private HashMap<String, List<String>> params = new HashMap<>();
+   private Map<String, String> headers = new HashMap<>();
+   private PendingResult<T> delegate;
+   private Class<? extends R> responseClass;
+ 
+   protected PendingResultBase(GeoApiContext context, ApiConfig config, Class<? extends R> clazz) {
+     this.context = context;
+     this.config = config;
+     this.responseClass = clazz;
+   }
+ 
+   @Override
+   public final void setCallback(Callback<T> callback) {
+     makeRequest().setCallback(callback);
+   }
+ 
+   @Override
+   public final T await() throws ApiException, InterruptedException, IOException {
+     PendingResult<T> request = makeRequest();
+     return request.await();
+   }
+ 
+   @Override
+   public final T awaitIgnoreError() {
+     return makeRequest().awaitIgnoreError();
+   }
+ 
+   @Override
+   public final void cancel() {
+     if (delegate == null) {
+       return;
+     }
+     delegate.cancel();
+   }
+ 
+   private PendingResult<T> makeRequest() {
+     if (delegate != null) {
+       throw new IllegalStateException(
+           "'await', 'awaitIgnoreError' or 'setCallback' was already called.");
+     }
+     validateRequest();
+     switch (config.requestVerb) {
+       case "GET":
+         return delegate = context.get(config, responseClass, headers, params);
+       case "POST":
+         return delegate = context.post(config, responseClass, headers, params);
+       default:
+         throw new IllegalStateException(
+             String.format("Unexpected request method '%s'", config.requestVerb));
+     }
+   }
+ 
+   protected abstract void validateRequest();
+ 
+   private A getInstance() {
+     @SuppressWarnings("unchecked")
+     A result = (A) this;
+     return result;
+   }
+ 
+   /**
+    * Sets the header named {@code key} to {@code value}. If this request already has any headers
+    * with the same key, the value is replaced.
+    *
+    * @param key the header key
+    * @param value the header value
+    * @return this request
+    */
+   public A header(String key, String value) {
+     headers.put(key, value);
+     return getInstance();
+   }
+ 
+   /**
+    * Sets the value for the HTTP header field name {@link HttpHeaders#X_GOOG_MAPS_EXPERIENCE_ID}.
+    * Passing null to this method will unset the experienceId header field.
+    *
+    * @param experienceIds The experience IDs
+    */
+   public A experienceIds(String... experienceIds) {
+     if (experienceIds == null || experienceIds.length == 0) {
+       headers.remove(HttpHeaders.X_GOOG_MAPS_EXPERIENCE_ID);
+       return getInstance();
+     }
+     header(HttpHeaders.X_GOOG_MAPS_EXPERIENCE_ID, StringJoin.join(",", experienceIds));
+     return getInstance();
+   }
+ 
+   protected A param(String key, String val) {
+     // Enforce singleton parameter semantics for most API surfaces
+     params.put(key, new ArrayList<String>());
+     return paramAddToList(key, val);
+   }
+ 
+   protected A param(String key, int val) {
+     return this.param(key, Integer.toString(val));
+   }
+ 
+   protected A param(String key, UrlValue val) {
+     if (val != null) {
+       return this.param(key, val.toUrlValue());
+     }
+     return getInstance();
+   }
+ 
+   protected A paramAddToList(String key, String val) {
+     // Multiple parameter values required to support Static Maps API paths and markers.
+     if (params.get(key) == null) {
+       params.put(key, new ArrayList<String>());
+     }
+     params.get(key).add(val);
+     return getInstance();
+   }
+ 
+   protected A paramAddToList(String key, UrlValue val) {
+     if (val != null) {
+       return this.paramAddToList(key, val.toUrlValue());
+     }
+     return getInstance();
+   }
+ 
+   protected Map<String, List<String>> params() {
+     return Collections.unmodifiableMap(params);
+   }
+ 
+   /**
+    * The language in which to return results. Note that we often update supported languages so this
+    * list may not be exhaustive.
+    *
+    * @param language The language code, e.g. "en-AU" or "es".
+    * @see <a href="https://developers.google.com/maps/faq#languagesupport">List of supported domain
+    *     languages</a>
+    * @return Returns the request for call chaining.
+    */
+   public final A language(String language) {
+     return param("language", language);
+   }
+ 
+   /**
+    * A channel to pass with the request. channel is used by Google Maps API for Work users to be
+    * able to track usage across different applications with the same clientID. See <a
+    * href="https://developers.google.com/maps/documentation/business/clientside/quota">Premium Plan
+    * Usage Rates and Limits</a>.
+    *
+    * @param channel String to pass with the request for analytics.
+    * @return Returns the request for call chaining.
+    */
+   public A channel(String channel) {
+     return param("channel", channel);
+   }
+ 
+   /**
+    * Custom parameter. For advanced usage only.
+    *
+    * @param parameter The name of the custom parameter.
+    * @param value The value of the custom parameter.
+    * @return Returns the request for call chaining.
+    */
+   public A custom(String parameter, String value) {
+     return param(parameter, value);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-12.html b/CodeCoverageReport/ns-1/sources/source-12.html new file mode 100644 index 000000000..be58ec6fd --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-12.html @@ -0,0 +1,191 @@ + + + + + + + + Coverage Report > PhotoRequest + + + + + + +
+ + +

Coverage Summary for Class: PhotoRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PhotoRequest + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 33.3% + + + (2/6) + + + + 81.8% + + + (9/11) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.internal.ApiConfig;
+ 
+ /**
+  * A <a href="https://developers.google.com/places/web-service/photos#place_photo_requests">Place
+  * Photo</a> request.
+  */
+ public class PhotoRequest
+     extends PendingResultBase<ImageResult, PhotoRequest, ImageResult.Response> {
+ 
+   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/place/photo");
+ 
+   public PhotoRequest(GeoApiContext context) {
+     super(context, API_CONFIG, ImageResult.Response.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("photoreference")) {
+       throw new IllegalArgumentException("Request must contain 'photoReference'.");
+     }
+     if (!params().containsKey("maxheight") && !params().containsKey("maxwidth")) {
+       throw new IllegalArgumentException("Request must contain 'maxHeight' or 'maxWidth'.");
+     }
+   }
+ 
+   /**
+    * Sets the photoReference for this request.
+    *
+    * @param photoReference A string identifier that uniquely identifies a photo. Photo references
+    *     are returned from either a Place Search or Place Details request.
+    * @return Returns the configured PhotoRequest.
+    */
+   public PhotoRequest photoReference(String photoReference) {
+     return param("photoreference", photoReference);
+   }
+ 
+   /**
+    * Sets the maxHeight for this request.
+    *
+    * @param maxHeight The maximum desired height, in pixels, of the image returned by the Place
+    *     Photos service.
+    * @return Returns the configured PhotoRequest.
+    */
+   public PhotoRequest maxHeight(int maxHeight) {
+     return param("maxheight", String.valueOf(maxHeight));
+   }
+ 
+   /**
+    * Sets the maxWidth for this request.
+    *
+    * @param maxWidth The maximum desired width, in pixels, of the image returned by the Place Photos
+    *     service.
+    * @return Returns the configured PhotoRequest.
+    */
+   public PhotoRequest maxWidth(int maxWidth) {
+     return param("maxwidth", String.valueOf(maxWidth));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-13.html b/CodeCoverageReport/ns-1/sources/source-13.html new file mode 100644 index 000000000..c3593a047 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-13.html @@ -0,0 +1,414 @@ + + + + + + + + Coverage Report > PlaceAutocompleteRequest + + + + + + +
+ + +

Coverage Summary for Class: PlaceAutocompleteRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
PlaceAutocompleteRequest + + 92.3% + + + (12/13) + + + + 50% + + + (1/2) + + + + 88.2% + + + (15/17) + +
PlaceAutocompleteRequest$Response + + 75% + + + (3/4) + + + + 16.7% + + + (1/6) + + + + 50% + + + (3/6) + +
PlaceAutocompleteRequest$SessionToken + + 40% + + + (2/5) + + + + 36.4% + + + (4/11) + +
Total + + 77.3% + + + (17/22) + + + + 25% + + + (2/8) + + + + 64.7% + + + (22/34) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import com.google.maps.model.AutocompletePrediction;
+ import com.google.maps.model.ComponentFilter;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.PlaceAutocompleteType;
+ import java.io.Serializable;
+ import java.util.UUID;
+ 
+ /**
+  * A <a
+  * href="https://developers.google.com/places/web-service/autocomplete#place_autocomplete_requests">Place
+  * Autocomplete</a> request.
+  */
+ public class PlaceAutocompleteRequest
+     extends PendingResultBase<
+         AutocompletePrediction[], PlaceAutocompleteRequest, PlaceAutocompleteRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/autocomplete/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+ 
+   protected PlaceAutocompleteRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   /** SessionToken represents an Autocomplete session. */
+   public static final class SessionToken implements UrlValue, Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     private UUID uuid;
+ 
+     /** This constructor creates a new session. */
+     public SessionToken() {
+       uuid = UUID.randomUUID();
+     }
+ 
+     /**
+      * Construct a session that is a continuation of a previous session.
+      *
+      * @param uuid The universally unique identifier for this session.
+      */
+     public SessionToken(UUID uuid) {
+       this.uuid = uuid;
+     }
+ 
+     /**
+      * Construct a session that is a continuation of a previous session.
+      *
+      * @param token The unique String to be used as the seed for the session identifier.
+      */
+     public SessionToken(String token) {
+       this.uuid = UUID.nameUUIDFromBytes(token.getBytes());
+     }
+ 
+     /**
+      * Retrieve the universally unique identifier for this session. This enables you to recreate the
+      * session token in a later context.
+      *
+      * @return Returns the universally unique identifier for this session.
+      */
+     public UUID getUUID() {
+       return uuid;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return uuid.toString();
+     }
+   }
+ 
+   /**
+    * Sets the SessionToken for this request. Using session token makes sure the autocomplete is
+    * priced per session, instead of per keystroke.
+    *
+    * @param sessionToken Session Token is the session identifier.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest sessionToken(SessionToken sessionToken) {
+     return param("sessiontoken", sessionToken);
+   }
+ 
+   /**
+    * Sets the text string on which to search. The Places service will return candidate matches based
+    * on this string and order results based on their perceived relevance.
+    *
+    * @param input The input text to autocomplete.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest input(String input) {
+     return param("input", input);
+   }
+ 
+   /**
+    * The character position in the input term at which the service uses text for predictions. For
+    * example, if the input is 'Googl' and the completion point is 3, the service will match on
+    * 'Goo'. The offset should generally be set to the position of the text caret. If no offset is
+    * supplied, the service will use the entire term.
+    *
+    * @param offset The character offset position of the user's cursor.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest offset(int offset) {
+     return param("offset", String.valueOf(offset));
+   }
+ 
+   /**
+    * The origin point from which to calculate straight-line distance to the destination (returned as
+    * {@link AutocompletePrediction#distanceMeters}). If this value is omitted, straight-line
+    * distance will not be returned.
+    *
+    * @param origin The {@link LatLng} origin point from which to calculate distance.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest origin(LatLng origin) {
+     return param("origin", origin);
+   }
+ 
+   /**
+    * The point around which you wish to retrieve place information.
+    *
+    * @param location The {@link LatLng} location to center this autocomplete search.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest location(LatLng location) {
+     return param("location", location);
+   }
+ 
+   /**
+    * The distance (in meters) within which to return place results. Note that setting a radius
+    * biases results to the indicated area, but may not fully restrict results to the specified area.
+    *
+    * @param radius The radius over which to bias results.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest radius(int radius) {
+     return param("radius", String.valueOf(radius));
+   }
+ 
+   /**
+    * Restricts the results to places matching the specified type.
+    *
+    * @param type The type to restrict results to.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    * @deprecated Please use {@code types} instead.
+    */
+   public PlaceAutocompleteRequest type(PlaceAutocompleteType type) {
+     return this.types(type);
+   }
+ 
+   /**
+    * Restricts the results to places matching the specified type.
+    *
+    * @param types The type to restrict results to.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest types(PlaceAutocompleteType types) {
+     return param("types", types);
+   }
+ 
+   /**
+    * A grouping of places to which you would like to restrict your results. Currently, you can use
+    * components to filter by country.
+    *
+    * @param filters The component filter to restrict results with.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest components(ComponentFilter... filters) {
+     return param("components", join('|', filters));
+   }
+ 
+   /**
+    * StrictBounds returns only those places that are strictly within the region defined by location
+    * and radius. This is a restriction, rather than a bias, meaning that results outside this region
+    * will not be returned even if they match the user input.
+    *
+    * @param strictBounds Whether to strictly bound results.
+    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
+    */
+   public PlaceAutocompleteRequest strictBounds(boolean strictBounds) {
+     return param("strictbounds", Boolean.toString(strictBounds));
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("input")) {
+       throw new IllegalArgumentException("Request must contain 'input'.");
+     }
+   }
+ 
+   public static class Response implements ApiResponse<AutocompletePrediction[]> {
+     public String status;
+     public AutocompletePrediction predictions[];
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public AutocompletePrediction[] getResult() {
+       return predictions;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-14.html b/CodeCoverageReport/ns-1/sources/source-14.html new file mode 100644 index 000000000..ab66f9d4d --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-14.html @@ -0,0 +1,392 @@ + + + + + + + + Coverage Report > PlaceDetailsRequest + + + + + + +
+ + +

Coverage Summary for Class: PlaceDetailsRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
PlaceDetailsRequest + + 55.6% + + + (5/9) + + + + 50% + + + (1/2) + + + + 61.5% + + + (8/13) + +
PlaceDetailsRequest$FieldMask + + 100% + + + (3/3) + + + + 100% + + + (59/59) + +
PlaceDetailsRequest$Response + + 75% + + + (3/4) + + + + 37.5% + + + (3/8) + + + + 62.5% + + + (5/8) + +
Total + + 68.8% + + + (11/16) + + + + 40% + + + (4/10) + + + + 90% + + + (72/80) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import com.google.maps.model.PlaceDetails;
+ 
+ /**
+  * A <a href="https://developers.google.com/places/web-service/details#PlaceDetailsRequests">Place
+  * Details</a> request.
+  */
+ public class PlaceDetailsRequest
+     extends PendingResultBase<PlaceDetails, PlaceDetailsRequest, PlaceDetailsRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/details/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+ 
+   public PlaceDetailsRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   /**
+    * Specifies the Place ID to get Place Details for. Required.
+    *
+    * @param placeId The Place ID to retrieve details for.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest placeId(String placeId) {
+     return param("placeid", placeId);
+   }
+ 
+   /**
+    * Sets the SessionToken for this request. Use this for Place Details requests that are called
+    * following an autocomplete request in the same user session. Optional.
+    *
+    * @param sessionToken Session Token is the session identifier.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest sessionToken(PlaceAutocompleteRequest.SessionToken sessionToken) {
+     return param("sessiontoken", sessionToken);
+   }
+ 
+   /**
+    * Sets the Region for this request. The region code, specified as a ccTLD (country code top-level
+    * domain) two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some
+    * exceptions. This parameter will only influence, not fully restrict, results.
+    *
+    * @param region The region code.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest region(String region) {
+     return param("region", region);
+   }
+ 
+   /**
+    * Specify reviews_no_translations=true to disable translation of reviews. Specify
+    * reviews_no_translations=false (default) to enable translation of reviews.
+    *
+    * @param reviewsNoTranslations Whether to disable translation of reviews.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest reviewsNoTranslations(boolean reviewsNoTranslations) {
+     return param("reviews_no_translations", String.valueOf(reviewsNoTranslations));
+   }
+ 
+   /**
+    * Specifies the sorting method to use when returning reviews. Can be set to most_relevant
+    * (default) or newest. Google recommends that you display how the reviews are being sorted to the
+    * end user.
+    *
+    * @param reviewsSort The sorting method to use when returning reviews.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest reviewsSort(String reviewsSort) {
+     return param("reviews_sort", reviewsSort);
+   }
+ 
+   /**
+    * Specifies the field masks of the details to be returned by PlaceDetails.
+    *
+    * @param fields The Field Masks of the fields to return.
+    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
+    */
+   public PlaceDetailsRequest fields(FieldMask... fields) {
+     return param("fields", StringJoin.join(',', fields));
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("placeid")) {
+       throw new IllegalArgumentException("Request must contain 'placeId'.");
+     }
+   }
+ 
+   public static class Response implements ApiResponse<PlaceDetails> {
+     public String status;
+     public PlaceDetails result;
+     public String[] htmlAttributions;
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public PlaceDetails getResult() {
+       if (result != null) {
+         result.htmlAttributions = htmlAttributions;
+       }
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ 
+   public enum FieldMask implements UrlValue {
+     ADDRESS_COMPONENT("address_component"),
+     ADR_ADDRESS("adr_address"),
+     @Deprecated
+     ALT_ID("alt_id"),
+     BUSINESS_STATUS("business_status"),
+     CURBSIDE_PICKUP("curbside_pickup"),
+     DELIVERY("delivery"),
+     DINE_IN("dine_in"),
+     EDITORIAL_SUMMARY("editorial_summary"),
+     FORMATTED_ADDRESS("formatted_address"),
+     FORMATTED_PHONE_NUMBER("formatted_phone_number"),
+     GEOMETRY("geometry"),
+     GEOMETRY_LOCATION("geometry/location"),
+     GEOMETRY_LOCATION_LAT("geometry/location/lat"),
+     GEOMETRY_LOCATION_LNG("geometry/location/lng"),
+     GEOMETRY_VIEWPORT("geometry/viewport"),
+     GEOMETRY_VIEWPORT_NORTHEAST("geometry/viewport/northeast"),
+     GEOMETRY_VIEWPORT_NORTHEAST_LAT("geometry/viewport/northeast/lat"),
+     GEOMETRY_VIEWPORT_NORTHEAST_LNG("geometry/viewport/northeast/lng"),
+     GEOMETRY_VIEWPORT_SOUTHWEST("geometry/viewport/southwest"),
+     GEOMETRY_VIEWPORT_SOUTHWEST_LAT("geometry/viewport/southwest/lat"),
+     GEOMETRY_VIEWPORT_SOUTHWEST_LNG("geometry/viewport/southwest/lng"),
+     ICON("icon"),
+     @Deprecated
+     ID("id"),
+     INTERNATIONAL_PHONE_NUMBER("international_phone_number"),
+     NAME("name"),
+     OPENING_HOURS("opening_hours"),
+     CURRENT_OPENING_HOURS("current_opening_hours"),
+     SECONDARY_OPENING_HOURS("secondary_opening_hours"),
+     @Deprecated
+     PERMANENTLY_CLOSED("permanently_closed"),
+     USER_RATINGS_TOTAL("user_ratings_total"),
+     PHOTOS("photos"),
+     PLACE_ID("place_id"),
+     PLUS_CODE("plus_code"),
+     PRICE_LEVEL("price_level"),
+     RATING("rating"),
+     @Deprecated
+     REFERENCE("reference"),
+     RESERVABLE("reservable"),
+     @Deprecated
+     REVIEW("review"),
+     REVIEWS("reviews"),
+     @Deprecated
+     SCOPE("scope"),
+     SERVES_BEER("serves_beer"),
+     SERVES_BREAKFAST("serves_breakfast"),
+     SERVES_BRUNCH("serves_brunch"),
+     SERVES_DINNER("serves_dinner"),
+     SERVES_LUNCH("serves_lunch"),
+     SERVES_VEGETARIAN_FOOD("serves_vegetarian_food"),
+     SERVES_WINE("serves_wine"),
+     TAKEOUT("takeout"),
+     TYPES("types"),
+     URL("url"),
+     UTC_OFFSET("utc_offset"),
+     VICINITY("vicinity"),
+     WEBSITE("website"),
+     WHEELCHAIR_ACCESSIBLE_ENTRANCE("wheelchair_accessible_entrance");
+ 
+     private final String field;
+ 
+     FieldMask(final String field) {
+       this.field = field;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return field;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-15.html b/CodeCoverageReport/ns-1/sources/source-15.html new file mode 100644 index 000000000..57f2af3d8 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-15.html @@ -0,0 +1,331 @@ + + + + + + + + Coverage Report > PlacesApi + + + + + + +
+ + +

Coverage Summary for Class: PlacesApi (com.google.maps)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
PlacesApi + + 100% + + + (1/1) + + + + 69.2% + + + (9/13) + + + + 72.5% + + + (29/40) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.PlaceType;
+ 
+ /**
+  * Performs a text search for places. The Google Places API enables you to get data from the same
+  * database used by Google Maps and Google+ Local. Places features more than 100 million businesses
+  * and points of interest that are updated frequently through owner-verified listings and
+  * user-moderated contributions.
+  *
+  * <p>See also: <a href="https://developers.google.com/places/web-service/">Places API Web Service
+  * documentation</a>.
+  */
+ public class PlacesApi {
+ 
+   private PlacesApi() {}
+ 
+   /**
+    * Performs a search for nearby Places.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param location The latitude/longitude around which to retrieve place information.
+    * @return Returns a NearbySearchRequest that can be configured and executed.
+    */
+   public static NearbySearchRequest nearbySearchQuery(GeoApiContext context, LatLng location) {
+     NearbySearchRequest request = new NearbySearchRequest(context);
+     request.location(location);
+     return request;
+   }
+ 
+   /**
+    * Retrieves the next page of Nearby Search results. The nextPageToken, returned in a
+    * PlacesSearchResponse when there are more pages of results, encodes all of the original Nearby
+    * Search Request parameters, which are thus not required on this call.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param nextPageToken The nextPageToken returned as part of a PlacesSearchResponse.
+    * @return Returns a NearbySearchRequest that can be executed.
+    */
+   public static NearbySearchRequest nearbySearchNextPage(
+       GeoApiContext context, String nextPageToken) {
+     NearbySearchRequest request = new NearbySearchRequest(context);
+     request.pageToken(nextPageToken);
+     return request;
+   }
+ 
+   /**
+    * Performs a search for Places using a text query; for example, "pizza in New York" or "shoe
+    * stores near Ottawa".
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param query The text string on which to search, for example: "restaurant".
+    * @return Returns a TextSearchRequest that can be configured and executed.
+    */
+   public static TextSearchRequest textSearchQuery(GeoApiContext context, String query) {
+     TextSearchRequest request = new TextSearchRequest(context);
+     request.query(query);
+     return request;
+   }
+ 
+   /**
+    * Performs a search for Places using a text query; for example, "pizza in New York" or "shoe
+    * stores near Ottawa".
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param query The text string on which to search, for example: "restaurant".
+    * @param location The latitude/longitude around which to retrieve place information.
+    * @return Returns a TextSearchRequest that can be configured and executed.
+    */
+   public static TextSearchRequest textSearchQuery(
+       GeoApiContext context, String query, LatLng location) {
+     TextSearchRequest request = new TextSearchRequest(context);
+     request.query(query);
+     request.location(location);
+     return request;
+   }
+ 
+   /**
+    * Performs a search for Places using a PlaceType parameter.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param type Restricts the results to places matching the specified PlaceType.
+    * @return Returns a TextSearchRequest that can be configured and executed.
+    */
+   public static TextSearchRequest textSearchQuery(GeoApiContext context, PlaceType type) {
+     TextSearchRequest request = new TextSearchRequest(context);
+     request.type(type);
+     return request;
+   }
+ 
+   /**
+    * Retrieves the next page of Text Search results. The nextPageToken, returned in a
+    * PlacesSearchResponse when there are more pages of results, encodes all of the original Text
+    * Search Request parameters, which are thus not required on this call.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param nextPageToken The nextPageToken returned as part of a PlacesSearchResponse.
+    * @return Returns a TextSearchRequest that can be executed.
+    */
+   public static TextSearchRequest textSearchNextPage(GeoApiContext context, String nextPageToken) {
+     TextSearchRequest request = new TextSearchRequest(context);
+     request.pageToken(nextPageToken);
+     return request;
+   }
+ 
+   /**
+    * Requests the details of a Place.
+    *
+    * <p>We are only enabling looking up Places by placeId as the older Place identifier, reference,
+    * is deprecated. Please see the <a
+    * href="https://web.archive.org/web/20170521070241/https://developers.google.com/places/web-service/details#deprecation">
+    * deprecation warning</a>.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param placeId The PlaceID to request details on.
+    * @param sessionToken The Session Token for this request.
+    * @return Returns a PlaceDetailsRequest that you can configure and execute.
+    */
+   public static PlaceDetailsRequest placeDetails(
+       GeoApiContext context, String placeId, PlaceAutocompleteRequest.SessionToken sessionToken) {
+     PlaceDetailsRequest request = new PlaceDetailsRequest(context);
+     request.placeId(placeId);
+     request.sessionToken(sessionToken);
+     return request;
+   }
+ 
+   /**
+    * Requests the details of a Place.
+    *
+    * <p>We are only enabling looking up Places by placeId as the older Place identifier, reference,
+    * is deprecated. Please see the <a
+    * href="https://web.archive.org/web/20170521070241/https://developers.google.com/places/web-service/details#deprecation">
+    * deprecation warning</a>.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param placeId The PlaceID to request details on.
+    * @return Returns a PlaceDetailsRequest that you can configure and execute.
+    */
+   public static PlaceDetailsRequest placeDetails(GeoApiContext context, String placeId) {
+     PlaceDetailsRequest request = new PlaceDetailsRequest(context);
+     request.placeId(placeId);
+     return request;
+   }
+ 
+   /**
+    * Requests a Photo from a PhotoReference.
+    *
+    * <p>Note: If you want to use a Photo in a web browser, please retrieve the photos for a place
+    * via our <a
+    * href="https://developers.google.com/maps/documentation/javascript/places#places_photos">
+    * JavaScript Places Library</a>. Likewise, on Android, Places Photos can be retrieved using the
+    * <a href="https://developers.google.com/places/android-api/photos">Google Places API for
+    * Android</a>.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param photoReference The reference to the photo to retrieve.
+    * @return Returns a PhotoRequest that you can execute.
+    */
+   public static PhotoRequest photo(GeoApiContext context, String photoReference) {
+     PhotoRequest request = new PhotoRequest(context);
+     request.photoReference(photoReference);
+     return request;
+   }
+ 
+   /**
+    * Creates a new Places Autocomplete request for a given input. The Place Autocomplete service can
+    * match on full words as well as substrings. Applications can therefore send queries as the user
+    * types, to provide on-the-fly place predictions.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param input input is the text string on which to search.
+    * @param sessionToken Session token, to make sure requests are billed per session, instead of per
+    *     character.
+    * @return Returns a PlaceAutocompleteRequest that you can configure and execute.
+    */
+   public static PlaceAutocompleteRequest placeAutocomplete(
+       GeoApiContext context, String input, PlaceAutocompleteRequest.SessionToken sessionToken) {
+     PlaceAutocompleteRequest request = new PlaceAutocompleteRequest(context);
+     request.input(input);
+     request.sessionToken(sessionToken);
+     return request;
+   }
+ 
+   /**
+    * Allows you to add on-the-fly geographic query predictions to your application.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param input input is the text string on which to search.
+    * @return Returns a QueryAutocompleteRequest that you can configure and execute.
+    */
+   public static QueryAutocompleteRequest queryAutocomplete(GeoApiContext context, String input) {
+     QueryAutocompleteRequest request = new QueryAutocompleteRequest(context);
+     request.input(input);
+     return request;
+   }
+ 
+   /**
+    * Find places using either search text, or a phone number.
+    *
+    * @param context The context on which to make Geo API requests.
+    * @param input The input to search on.
+    * @param inputType Whether the input is search text, or a phone number.
+    * @return Returns a FindPlaceFromTextRequest that you can configure and execute.
+    */
+   public static FindPlaceFromTextRequest findPlaceFromText(
+       GeoApiContext context, String input, FindPlaceFromTextRequest.InputType inputType) {
+     FindPlaceFromTextRequest request = new FindPlaceFromTextRequest(context);
+     request.input(input).inputType(inputType);
+     return request;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-16.html b/CodeCoverageReport/ns-1/sources/source-16.html new file mode 100644 index 000000000..3fbea6a95 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-16.html @@ -0,0 +1,275 @@ + + + + + + + + Coverage Report > QueryAutocompleteRequest + + + + + + +
+ + +

Coverage Summary for Class: QueryAutocompleteRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
QueryAutocompleteRequest + + 100% + + + (7/7) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
QueryAutocompleteRequest$Response + + 75% + + + (3/4) + + + + 16.7% + + + (1/6) + + + + 50% + + + (3/6) + +
Total + + 90.9% + + + (10/11) + + + + 25% + + + (2/8) + + + + 76.5% + + + (13/17) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.AutocompletePrediction;
+ import com.google.maps.model.LatLng;
+ 
+ /**
+  * A <a
+  * href="https://developers.google.com/places/web-service/query#query_autocomplete_requests">Query
+  * Autocomplete</a> request.
+  */
+ public class QueryAutocompleteRequest
+     extends PendingResultBase<
+         AutocompletePrediction[], QueryAutocompleteRequest, QueryAutocompleteRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/queryautocomplete/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+ 
+   protected QueryAutocompleteRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("input")) {
+       throw new IllegalArgumentException("Request must contain 'input'.");
+     }
+   }
+ 
+   /**
+    * The text string on which to search. The Places service will return candidate matches based on
+    * this string and order results based on their perceived relevance.
+    *
+    * @param input The input text to autocomplete.
+    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
+    */
+   public QueryAutocompleteRequest input(String input) {
+     return param("input", input);
+   }
+ 
+   /**
+    * The character position in the input term at which the service uses text for predictions. For
+    * example, if the input is 'Googl' and the completion point is 3, the service will match on
+    * 'Goo'. The offset should generally be set to the position of the text caret. If no offset is
+    * supplied, the service will use the entire term.
+    *
+    * @param offset The character offset to search from.
+    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
+    */
+   public QueryAutocompleteRequest offset(int offset) {
+     return param("offset", String.valueOf(offset));
+   }
+ 
+   /**
+    * The point around which you wish to retrieve place information.
+    *
+    * @param location The location point around which to search.
+    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
+    */
+   public QueryAutocompleteRequest location(LatLng location) {
+     return param("location", location);
+   }
+ 
+   /**
+    * The distance (in meters) within which to return place results. Note that setting a radius
+    * biases results to the indicated area, but may not fully restrict results to the specified area.
+    *
+    * @param radius The radius around which to bias results.
+    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
+    */
+   public QueryAutocompleteRequest radius(int radius) {
+     return param("radius", String.valueOf(radius));
+   }
+ 
+   public static class Response implements ApiResponse<AutocompletePrediction[]> {
+     public String status;
+     public AutocompletePrediction predictions[];
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public AutocompletePrediction[] getResult() {
+       return predictions;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-17.html b/CodeCoverageReport/ns-1/sources/source-17.html new file mode 100644 index 000000000..56f8dae59 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-17.html @@ -0,0 +1,338 @@ + + + + + + + + Coverage Report > RoadsApi + + + + + + +
+ + +

Coverage Summary for Class: RoadsApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
RoadsApi + + 66.7% + + + (4/6) + + + + 66.7% + + + (4/6) + +
RoadsApi$RoadsResponse + + 75% + + + (3/4) + + + + 50% + + + (1/2) + + + + 75% + + + (3/4) + +
RoadsApi$SpeedLimitsResponse + + 75% + + + (3/4) + + + + 50% + + + (1/2) + + + + 85.7% + + + (6/7) + +
Total + + 71.4% + + + (10/14) + + + + 50% + + + (2/4) + + + + 76.5% + + + (13/17) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiError;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.SnappedPoint;
+ import com.google.maps.model.SnappedSpeedLimitResult;
+ import com.google.maps.model.SpeedLimit;
+ 
+ /**
+  * The Google Maps Roads API identifies the roads a vehicle was traveling along and provides
+  * additional metadata about those roads, such as speed limits.
+  *
+  * <p>See also: <a href="https://developers.google.com/maps/documentation/roads">Roads API
+  * documentation</a>.
+  */
+ public class RoadsApi {
+   static final String API_BASE_URL = "https://roads.googleapis.com";
+ 
+   private RoadsApi() {}
+ 
+   /**
+    * Takes up to 100 GPS points collected along a route, and returns a similar set of data with the
+    * points snapped to the most likely roads the vehicle was traveling along.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param path The collected GPS points as a path.
+    * @return Returns the {@code SnapToRoadsApiRequest} for call chaining
+    */
+   public static SnapToRoadsApiRequest snapToRoads(GeoApiContext context, LatLng... path) {
+     return snapToRoads(context, false, path);
+   }
+ 
+   /**
+    * Takes up to 100 GPS points collected along a route, and returns a similar set of data with the
+    * points snapped to the most likely roads the vehicle was traveling along. Additionally, you can
+    * request that the points be interpolated, resulting in a path that smoothly follows the geometry
+    * of the road.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param interpolate Whether to interpolate a path to include all points forming the full
+    *     road-geometry. When true, additional interpolated points will also be returned, resulting
+    *     in a path that smoothly follows the geometry of the road, even around corners and through
+    *     tunnels.
+    * @param path The path to be snapped.
+    * @return Returns the {@code SnapToRoadsApiRequest} for call chaining
+    */
+   public static SnapToRoadsApiRequest snapToRoads(
+       GeoApiContext context, boolean interpolate, LatLng... path) {
+     return new SnapToRoadsApiRequest(context).path(path).interpolate(interpolate);
+   }
+ 
+   /**
+    * Returns the posted speed limit for given road segments. The provided LatLngs will first be
+    * snapped to the most likely roads the vehicle was traveling along.
+    *
+    * <p>Note: The accuracy of speed limit data returned by the Google Maps Roads API cannot be
+    * guaranteed. Speed limit data provided is not real-time, and may be estimated, inaccurate,
+    * incomplete, and/or outdated. Inaccuracies in our data may be reported through <a
+    * href="https://www.localguidesconnect.com/t5/News-Updates/Exclusive-Edit-a-road-segment-in-Google-Maps/ba-p/149865">
+    * Google Maps Feedback</a>.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param path The collected GPS points as a path.
+    * @return a {@link SpeedLimitsApiRequest}
+    */
+   public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, LatLng... path) {
+     return new SpeedLimitsApiRequest(context).path(path);
+   }
+ 
+   /**
+    * Returns the posted speed limit for given road segments.
+    *
+    * <p>Note: The accuracy of speed limit data returned by the Google Maps Roads API cannot be
+    * guaranteed. Speed limit data provided is not real-time, and may be estimated, inaccurate,
+    * incomplete, and/or outdated. Inaccuracies in our data may be reported through <a
+    * href="https://www.localguidesconnect.com/t5/News-Updates/Exclusive-Edit-a-road-segment-in-Google-Maps/ba-p/149865">
+    * Google Maps Feedback</a>.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param placeIds The Place ID of the road segment. Place IDs are returned by the {@link
+    *     #snapToRoads(GeoApiContext, com.google.maps.model.LatLng...)} method. You can pass up to
+    *     100 placeIds with each request.
+    * @return a {@link SpeedLimitsApiRequest}
+    */
+   public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, String... placeIds) {
+     return new SpeedLimitsApiRequest(context).placeIds(placeIds);
+   }
+ 
+   /**
+    * Takes up to 100 GPS points, and returns the closest road segment for each point. The points
+    * passed do not need to be part of a continuous path.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param points The sequence of points to be aligned to nearest roads
+    * @return a {@link NearestRoadsApiRequest}
+    */
+   public static NearestRoadsApiRequest nearestRoads(GeoApiContext context, LatLng... points) {
+     return new NearestRoadsApiRequest(context).points(points);
+   }
+ 
+   public static class RoadsResponse implements ApiResponse<SnappedPoint[]> {
+     private SnappedPoint[] snappedPoints;
+     private ApiError error;
+ 
+     @Override
+     public boolean successful() {
+       return error == null;
+     }
+ 
+     @Override
+     public SnappedPoint[] getResult() {
+       return snappedPoints;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       return ApiException.from(error.status, error.message);
+     }
+   }
+ 
+   public static class SpeedLimitsResponse implements ApiResponse<SnappedSpeedLimitResult> {
+     private SnappedPoint[] snappedPoints;
+     private SpeedLimit[] speedLimits;
+     private ApiError error;
+ 
+     @Override
+     public boolean successful() {
+       return error == null;
+     }
+ 
+     @Override
+     public SnappedSpeedLimitResult getResult() {
+       SnappedSpeedLimitResult response = new SnappedSpeedLimitResult();
+       response.snappedPoints = snappedPoints;
+       response.speedLimits = speedLimits;
+       return response;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       return ApiException.from(error.status, error.message);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-18.html b/CodeCoverageReport/ns-1/sources/source-18.html new file mode 100644 index 000000000..b7df47f48 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-18.html @@ -0,0 +1,166 @@ + + + + + + + + Coverage Report > SnapToRoadsApiRequest + + + + + + +
+ + +

Coverage Summary for Class: SnapToRoadsApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
SnapToRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 50% + + + (1/2) + + + + 90.9% + + + (10/11) + +
+ +
+
+ + +
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.RoadsApi.RoadsResponse;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.SnappedPoint;
+ 
+ /** A request to the snap to roads API (part of Roads API). */
+ public class SnapToRoadsApiRequest
+     extends PendingResultBase<SnappedPoint[], SnapToRoadsApiRequest, RoadsResponse> {
+ 
+   private static final ApiConfig SNAP_TO_ROADS_API_CONFIG =
+       new ApiConfig("/v1/snapToRoads")
+           .hostName(RoadsApi.API_BASE_URL)
+           .supportsClientId(false)
+           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
+ 
+   public SnapToRoadsApiRequest(GeoApiContext context) {
+     super(context, SNAP_TO_ROADS_API_CONFIG, RoadsResponse.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("path")) {
+       throw new IllegalArgumentException("Request must contain 'path");
+     }
+   }
+ 
+   /**
+    * The path from which to snap to roads.
+    *
+    * @param path the path to be snapped
+    * @return returns this {@code SnapToRoadsApiRequest} for call chaining.
+    */
+   public SnapToRoadsApiRequest path(LatLng... path) {
+     return param("path", StringJoin.join('|', path));
+   }
+ 
+   /**
+    * Whether to interpolate a path to include all points forming the full road-geometry.
+    *
+    * @param interpolate if the points should be interpolated or not
+    * @return returns this {@code SnapToRoadsApiRequest} for call chaining.
+    */
+   public SnapToRoadsApiRequest interpolate(boolean interpolate) {
+     return param("interpolate", String.valueOf(interpolate));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-19.html b/CodeCoverageReport/ns-1/sources/source-19.html new file mode 100644 index 000000000..f21af3093 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-19.html @@ -0,0 +1,169 @@ + + + + + + + + Coverage Report > SpeedLimitsApiRequest + + + + + + +
+ + +

Coverage Summary for Class: SpeedLimitsApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
SpeedLimitsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 92.3% + + + (12/13) + +
+ +
+
+ + +
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.RoadsApi.SpeedLimitsResponse;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.SnappedSpeedLimitResult;
+ 
+ /** A request to the speed limits API (part of Roads API). */
+ public class SpeedLimitsApiRequest
+     extends PendingResultBase<SnappedSpeedLimitResult, SpeedLimitsApiRequest, SpeedLimitsResponse> {
+ 
+   private static final ApiConfig SPEEDS_API_CONFIG =
+       new ApiConfig("/v1/speedLimits")
+           .hostName(RoadsApi.API_BASE_URL)
+           .supportsClientId(false)
+           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
+ 
+   public SpeedLimitsApiRequest(GeoApiContext context) {
+     super(context, SPEEDS_API_CONFIG, SpeedLimitsResponse.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("path") && !params().containsKey("placeId")) {
+       throw new IllegalArgumentException("Request must contain either 'path' or 'placeId'");
+     }
+   }
+ 
+   /**
+    * A list of up to 100 lat/long pairs representing a path.
+    *
+    * @param path the path
+    * @return a {@code SpeedLimitsApiRequest} for call chaining.
+    */
+   public SpeedLimitsApiRequest path(LatLng... path) {
+     return param("path", StringJoin.join('|', path));
+   }
+ 
+   /**
+    * A list of place ID/s representing one or more road segments.
+    *
+    * @param placeIds the place ID/s
+    * @return a {@code SpeedLimitsApiRequest} for call chaining.
+    */
+   public SpeedLimitsApiRequest placeIds(String... placeIds) {
+     for (String placeId : placeIds) {
+       paramAddToList("placeId", placeId);
+     }
+     return this;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1a.html b/CodeCoverageReport/ns-1/sources/source-1a.html new file mode 100644 index 000000000..cf641b21b --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1a.html @@ -0,0 +1,138 @@ + + + + + + + + Coverage Report > StaticMapsApi + + + + + + +
+ + +

Coverage Summary for Class: StaticMapsApi (com.google.maps)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
StaticMapsApi + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (1/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.model.Size;
+ 
+ public class StaticMapsApi {
+ 
+   private StaticMapsApi() {}
+ 
+   /**
+    * Create a new {@code StaticMapRequest}.
+    *
+    * @param context The {@code GeoApiContext} to make this request through.
+    * @param size The size of the static map.
+    * @return Returns a new {@code StaticMapRequest} with configured size.
+    */
+   public static StaticMapsRequest newRequest(GeoApiContext context, Size size) {
+     return new StaticMapsRequest(context).size(size);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1b.html b/CodeCoverageReport/ns-1/sources/source-1b.html new file mode 100644 index 000000000..e67f889c5 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1b.html @@ -0,0 +1,731 @@ + + + + + + + + Coverage Report > StaticMapsRequest + + + + + + +
+ + +

Coverage Summary for Class: StaticMapsRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
StaticMapsRequest + + 93.8% + + + (15/16) + + + + 100% + + + (10/10) + + + + 95.7% + + + (22/23) + +
StaticMapsRequest$ImageFormat + + 100% + + + (3/3) + + + + 100% + + + (11/11) + +
StaticMapsRequest$Markers + + 90% + + + (9/10) + + + + 75% + + + (12/16) + + + + 89.2% + + + (33/37) + +
StaticMapsRequest$Markers$CustomIconAnchor + + 100% + + + (2/2) + + + + 100% + + + (11/11) + +
StaticMapsRequest$Markers$MarkersSize + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
StaticMapsRequest$Path + + 100% + + + (8/8) + + + + 50% + + + (4/8) + + + + 100% + + + (25/25) + +
StaticMapsRequest$StaticMapType + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
Total + + 95.3% + + + (41/43) + + + + 76.5% + + + (26/34) + + + + 95.8% + + + (114/119) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import com.google.maps.model.EncodedPolyline;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.Size;
+ import java.util.ArrayList;
+ import java.util.List;
+ import java.util.regex.Pattern;
+ 
+ public class StaticMapsRequest
+     extends PendingResultBase<ImageResult, StaticMapsRequest, ImageResult.Response> {
+ 
+   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/staticmap");
+ 
+   public StaticMapsRequest(GeoApiContext context) {
+     super(context, API_CONFIG, ImageResult.Response.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!((params().containsKey("center") && params().containsKey("zoom"))
+         || params().containsKey("markers")
+         || params().containsKey("path"))) {
+       throw new IllegalArgumentException(
+           "Request must contain 'center' and 'zoom' if 'markers' or 'path' aren't present.");
+     }
+     if (!params().containsKey("size")) {
+       throw new IllegalArgumentException("Request must contain 'size'.");
+     }
+   }
+ 
+   /**
+    * <code>center</code> (required if markers not present) defines the center of the map,
+    * equidistant from all edges of the map.
+    *
+    * @param location The location of the center of the map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest center(LatLng location) {
+     return param("center", location);
+   }
+ 
+   /**
+    * <code>center</code> (required if markers not present) defines the center of the map,
+    * equidistant from all edges of the map.
+    *
+    * @param location The location of the center of the map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest center(String location) {
+     return param("center", location);
+   }
+ 
+   /**
+    * <code>zoom</code> (required if markers not present) defines the zoom level of the map, which
+    * determines the magnification level of the map.
+    *
+    * @param zoom The zoom level of the region.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest zoom(int zoom) {
+     return param("zoom", zoom);
+   }
+ 
+   /**
+    * <code>size</code> defines the rectangular dimensions of the map image.
+    *
+    * @param size The Size of the static map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest size(Size size) {
+     return param("size", size);
+   }
+ 
+   /**
+    * <code>scale</code> affects the number of pixels that are returned. Setting <code>scale</code>
+    * to 2 returns twice as many pixels as <code>scale</code> set to 1 while retaining the same
+    * coverage area and level of detail (i.e. the contents of the map doesn't change).
+    *
+    * @param scale The scale of the static map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest scale(int scale) {
+     return param("scale", scale);
+   }
+ 
+   public enum ImageFormat implements UrlValue {
+     png("png"),
+     png8("png8"),
+     png32("png32"),
+     gif("gif"),
+     jpg("jpg"),
+     jpgBaseline("jpg-baseline");
+ 
+     private final String format;
+ 
+     ImageFormat(String format) {
+       this.format = format;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return format;
+     }
+   }
+ 
+   /**
+    * <code>format</code> defines the format of the resulting image. By default, the Google Static
+    * Maps API creates PNG images. There are several possible formats including GIF, JPEG and PNG
+    * types.
+    *
+    * @param format The format of the static map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest format(ImageFormat format) {
+     return param("format", format);
+   }
+ 
+   public enum StaticMapType implements UrlValue {
+     roadmap,
+     satellite,
+     terrain,
+     hybrid;
+ 
+     @Override
+     public String toUrlValue() {
+       return this.name();
+     }
+   }
+ 
+   /**
+    * <code>maptype</code> defines the type of map to construct.
+    *
+    * @param maptype The map type of the static map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest maptype(StaticMapType maptype) {
+     return param("maptype", maptype);
+   }
+ 
+   /**
+    * <code>region</code> defines the appropriate borders to display, based on geo-political
+    * sensitivities. Accepts a region code specified as a two-character ccTLD ('top-level domain')
+    * value.
+    *
+    * @param region The region of the static map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest region(String region) {
+     return param("region", region);
+   }
+ 
+   public static class Markers implements UrlValue {
+ 
+     public enum MarkersSize implements UrlValue {
+       tiny,
+       mid,
+       small,
+       normal;
+ 
+       @Override
+       public String toUrlValue() {
+         return this.name();
+       }
+     }
+ 
+     public enum CustomIconAnchor implements UrlValue {
+       top,
+       bottom,
+       left,
+       right,
+       center,
+       topleft,
+       topright,
+       bottomleft,
+       bottomright;
+ 
+       @Override
+       public String toUrlValue() {
+         return this.name();
+       }
+     }
+ 
+     private MarkersSize size;
+     private String color;
+     private String label;
+     private String customIconURL;
+     private CustomIconAnchor anchorPoint;
+     private Integer scale;
+     private final List<String> locations = new ArrayList<>();
+ 
+     /**
+      * Specifies the size of marker. If no size parameter is set, the marker will appear in its
+      * default (normal) size.
+      *
+      * @param size The size of the markers.
+      */
+     public void size(MarkersSize size) {
+       this.size = size;
+     }
+ 
+     /**
+      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
+      * brown, green, purple, yellow, blue, gray, orange, red, white}.
+      *
+      * @param color The color of the markers.
+      */
+     public void color(String color) {
+       this.color = color;
+     }
+ 
+     private static final Pattern labelPattern = Pattern.compile("^[A-Z0-9]$");
+ 
+     /**
+      * Specifies a single uppercase alphanumeric character from the set {A-Z, 0-9}.
+      *
+      * @param label The label to add to markers.
+      */
+     public void label(String label) {
+       if (!labelPattern.matcher(label).matches()) {
+         throw new IllegalArgumentException(
+             "Label '" + label + "' doesn't match acceptable label pattern.");
+       }
+ 
+       this.label = label;
+     }
+ 
+     /**
+      * Set a custom icon for these markers.
+      *
+      * @param url URL for the custom icon.
+      * @param anchorPoint The anchor point for this custom icon.
+      */
+     public void customIcon(String url, CustomIconAnchor anchorPoint) {
+       this.customIconURL = url;
+       this.anchorPoint = anchorPoint;
+     }
+ 
+     /**
+      * Set a custom icon for these markers.
+      *
+      * @param url URL for the custom icon.
+      * @param anchorPoint The anchor point for this custom icon.
+      * @param scale Set the image density scale (1, 2, or 4) of the custom icon provided.
+      */
+     public void customIcon(String url, CustomIconAnchor anchorPoint, int scale) {
+       this.customIconURL = url;
+       this.anchorPoint = anchorPoint;
+       this.scale = scale;
+     }
+ 
+     /**
+      * Add the location of a marker. At least one is required.
+      *
+      * @param location The location of the added marker.
+      */
+     public void addLocation(String location) {
+       locations.add(location);
+     }
+ 
+     /**
+      * Add the location of a marker. At least one is required.
+      *
+      * @param location The location of the added marker.
+      */
+     public void addLocation(LatLng location) {
+       locations.add(location.toUrlValue());
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       List<String> urlParts = new ArrayList<>();
+ 
+       if (customIconURL != null) {
+         urlParts.add("icon:" + customIconURL);
+       }
+ 
+       if (anchorPoint != null) {
+         urlParts.add("anchor:" + anchorPoint.toUrlValue());
+       }
+ 
+       if (scale != null) {
+         urlParts.add("scale:" + scale);
+       }
+ 
+       if (size != null && size != MarkersSize.normal) {
+         urlParts.add("size:" + size.toUrlValue());
+       }
+ 
+       if (color != null) {
+         urlParts.add("color:" + color);
+       }
+ 
+       if (label != null) {
+         urlParts.add("label:" + label);
+       }
+ 
+       urlParts.addAll(locations);
+ 
+       return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()]));
+     }
+   }
+ 
+   /**
+    * <code>markers</code> parameter defines a set of one or more markers (map pins) at a set of
+    * locations. Each marker defined within a single markers declaration must exhibit the same visual
+    * style; if you wish to display markers with different styles, you will need to supply multiple
+    * markers parameters with separate style information.
+    *
+    * @param markers A group of markers with the same style.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest markers(Markers markers) {
+     return paramAddToList("markers", markers);
+   }
+ 
+   public static class Path implements UrlValue {
+ 
+     private int weight;
+     private String color;
+     private String fillcolor;
+     private boolean geodesic;
+     private final List<String> points = new ArrayList<>();
+ 
+     /**
+      * Specifies the thickness of the path in pixels. If no weight parameter is set, the path will
+      * appear in its default thickness (5 pixels).
+      *
+      * @param weight The thickness of the path in pixels.
+      */
+     public void weight(int weight) {
+       this.weight = weight;
+     }
+ 
+     /**
+      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
+      * brown, green, purple, yellow, blue, gray, orange, red, white}.
+      *
+      * @param color The color of the path.
+      */
+     public void color(String color) {
+       this.color = color;
+     }
+ 
+     /**
+      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
+      * brown, green, purple, yellow, blue, gray, orange, red, white}.
+      *
+      * @param color The fill color.
+      */
+     public void fillcolor(String color) {
+       this.fillcolor = color;
+     }
+ 
+     /**
+      * Indicates that the requested path should be interpreted as a geodesic line that follows the
+      * curvature of the earth.
+      *
+      * @param geodesic Whether the path is geodesic.
+      */
+     public void geodesic(boolean geodesic) {
+       this.geodesic = geodesic;
+     }
+ 
+     /**
+      * Add a point to the path. At least two are required.
+      *
+      * @param point The point to add.
+      */
+     public void addPoint(String point) {
+       points.add(point);
+     }
+ 
+     /**
+      * Add a point to the path. At least two are required.
+      *
+      * @param point The point to add.
+      */
+     public void addPoint(LatLng point) {
+       points.add(point.toUrlValue());
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       List<String> urlParts = new ArrayList<>();
+ 
+       if (weight > 0) {
+         urlParts.add("weight:" + weight);
+       }
+ 
+       if (color != null) {
+         urlParts.add("color:" + color);
+       }
+ 
+       if (fillcolor != null) {
+         urlParts.add("fillcolor:" + fillcolor);
+       }
+ 
+       if (geodesic) {
+         urlParts.add("geodesic:" + geodesic);
+       }
+ 
+       urlParts.addAll(points);
+ 
+       return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()]));
+     }
+   }
+ 
+   /**
+    * The <code>path</code> parameter defines a set of one or more locations connected by a path to
+    * overlay on the map image.
+    *
+    * @param path A path to render atop the map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest path(Path path) {
+     return paramAddToList("path", path);
+   }
+ 
+   /**
+    * The <code>path</code> parameter defines a set of one or more locations connected by a path to
+    * overlay on the map image. This variant of the method accepts the path as an EncodedPolyline.
+    *
+    * @param path A path to render atop the map, as an EncodedPolyline.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest path(EncodedPolyline path) {
+     return paramAddToList("path", "enc:" + path.getEncodedPath());
+   }
+ 
+   /**
+    * <code>visible</code> instructs the Google Static Maps API service to construct a map such that
+    * the existing locations remain visible.
+    *
+    * @param visibleLocation The location to be made visible in the requested Static Map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest visible(LatLng visibleLocation) {
+     return param("visible", visibleLocation);
+   }
+ 
+   /**
+    * <code>visible</code> instructs the Google Static Maps API service to construct a map such that
+    * the existing locations remain visible.
+    *
+    * @param visibleLocation The location to be made visible in the requested Static Map.
+    * @return Returns this {@code StaticMapsRequest} for call chaining.
+    */
+   public StaticMapsRequest visible(String visibleLocation) {
+     return param("visible", visibleLocation);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1c.html b/CodeCoverageReport/ns-1/sources/source-1c.html new file mode 100644 index 000000000..b78b9048c --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1c.html @@ -0,0 +1,370 @@ + + + + + + + + Coverage Report > TextSearchRequest + + + + + + +
+ + +

Coverage Summary for Class: TextSearchRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
TextSearchRequest + + 92.9% + + + (13/14) + + + + 75% + + + (9/12) + + + + 83.3% + + + (20/24) + +
TextSearchRequest$Response + + 75% + + + (3/4) + + + + 16.7% + + + (1/6) + + + + 70% + + + (7/10) + +
Total + + 88.9% + + + (16/18) + + + + 55.6% + + + (10/18) + + + + 79.4% + + + (27/34) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.PlaceType;
+ import com.google.maps.model.PlacesSearchResponse;
+ import com.google.maps.model.PlacesSearchResult;
+ import com.google.maps.model.PriceLevel;
+ import com.google.maps.model.RankBy;
+ 
+ /**
+  * A <a href="https://developers.google.com/places/web-service/search#TextSearchRequests">Text
+  * Search</a> request.
+  */
+ public class TextSearchRequest
+     extends PendingResultBase<PlacesSearchResponse, TextSearchRequest, TextSearchRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/textsearch/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+ 
+   public TextSearchRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   /**
+    * Specifies the text string on which to search, for example: {@code "restaurant"}.
+    *
+    * @param query The query string to search for.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest query(String query) {
+     return param("query", query);
+   }
+ 
+   /**
+    * Specifies the latitude/longitude around which to retrieve place information.
+    *
+    * @param location The location of the center of the search.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest location(LatLng location) {
+     return param("location", location);
+   }
+ 
+   /**
+    * Region used to influence search results. This parameter will only influence, not fully
+    * restrict, search results. If more relevant results exist outside of the specified region, they
+    * may be included. When this parameter is used, the country name is omitted from the resulting
+    * formatted_address for results in the specified region.
+    *
+    * @param region The ccTLD two-letter code of the region.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest region(String region) {
+     return param("region", region);
+   }
+ 
+   /**
+    * Specifies the distance (in meters) within which to bias place results.
+    *
+    * @param radius The radius of the search bias.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest radius(int radius) {
+     if (radius > 50000) {
+       throw new IllegalArgumentException("The maximum allowed radius is 50,000 meters.");
+     }
+     return param("radius", String.valueOf(radius));
+   }
+ 
+   /**
+    * Restricts to places that are at least this price level.
+    *
+    * @param priceLevel The minimum price level to restrict results with.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest minPrice(PriceLevel priceLevel) {
+     return param("minprice", priceLevel);
+   }
+ 
+   /**
+    * Restricts to places that are at most this price level.
+    *
+    * @param priceLevel The maximum price leve to restrict results with.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest maxPrice(PriceLevel priceLevel) {
+     return param("maxprice", priceLevel);
+   }
+ 
+   /**
+    * Specifies one or more terms to be matched against the names of places, separated with space
+    * characters.
+    *
+    * @param name The name to search for.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest name(String name) {
+     return param("name", name);
+   }
+ 
+   /**
+    * Restricts to only those places that are open for business at the time the query is sent.
+    *
+    * @param openNow Whether to restrict this search to open places.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest openNow(boolean openNow) {
+     return param("opennow", String.valueOf(openNow));
+   }
+ 
+   /**
+    * Returns the next 20 results from a previously run search. Setting pageToken will execute a
+    * search with the same parameters used previously  all parameters other than pageToken will be
+    * ignored.
+    *
+    * @param nextPageToken A {@code pageToken} from a prior result.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest pageToken(String nextPageToken) {
+     return param("pagetoken", nextPageToken);
+   }
+ 
+   /**
+    * Specifies the order in which results are listed.
+    *
+    * @param ranking The rank by method.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest rankby(RankBy ranking) {
+     return param("rankby", ranking);
+   }
+ 
+   /**
+    * Restricts the results to places matching the specified type.
+    *
+    * @param type The type of place to restrict the results with.
+    * @return Returns this {@code TextSearchRequest} for call chaining.
+    */
+   public TextSearchRequest type(PlaceType type) {
+     return param("type", type);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+ 
+     // All other parameters are ignored if pagetoken is specified.
+     if (params().containsKey("pagetoken")) {
+       return;
+     }
+ 
+     if (!params().containsKey("query") && !params().containsKey("type")) {
+       throw new IllegalArgumentException(
+           "Request must contain 'query' or a 'pageToken'. If a 'type' is specified 'query' becomes optional.");
+     }
+ 
+     if (params().containsKey("location") && !params().containsKey("radius")) {
+       throw new IllegalArgumentException(
+           "Request must contain 'radius' parameter when it contains a 'location' parameter.");
+     }
+   }
+ 
+   public static class Response implements ApiResponse<PlacesSearchResponse> {
+ 
+     public String status;
+     public String htmlAttributions[];
+     public PlacesSearchResult results[];
+     public String nextPageToken;
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public PlacesSearchResponse getResult() {
+       PlacesSearchResponse result = new PlacesSearchResponse();
+       result.htmlAttributions = htmlAttributions;
+       result.results = results;
+       result.nextPageToken = nextPageToken;
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1d.html b/CodeCoverageReport/ns-1/sources/source-1d.html new file mode 100644 index 000000000..f00d07f4e --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1d.html @@ -0,0 +1,234 @@ + + + + + + + + Coverage Report > TimeZoneApi + + + + + + +
+ + +

Coverage Summary for Class: TimeZoneApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
TimeZoneApi + + 66.7% + + + (2/3) + + + + 80% + + + (4/5) + +
TimeZoneApi$Response + + 100% + + + (4/4) + + + + 50% + + + (2/4) + + + + 75% + + + (6/8) + +
Total + + 85.7% + + + (6/7) + + + + 50% + + + (2/4) + + + + 76.9% + + + (10/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.LatLng;
+ import java.util.TimeZone;
+ 
+ /**
+  * The Google Time Zone API provides a simple interface to request the time zone for a location on
+  * the earth.
+  *
+  * <p>See the <a href="https://developers.google.com/maps/documentation/timezone/">Time Zone API
+  * documentation</a>.
+  */
+ public class TimeZoneApi {
+   private static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/timezone/json").fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
+ 
+   private TimeZoneApi() {}
+ 
+   /**
+    * Retrieves the {@link java.util.TimeZone} for the given location.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param location The location for which to retrieve a time zone.
+    * @return Returns the time zone as a {@link PendingResult}.
+    */
+   public static PendingResult<TimeZone> getTimeZone(GeoApiContext context, LatLng location) {
+     return context.get(
+         API_CONFIG,
+         Response.class,
+         "location",
+         location.toString(),
+         // Java has its own lookup for time -> DST, so we really only need to fetch the TZ id.
+         // "timestamp" is, in effect, ignored.
+         "timestamp",
+         "0");
+   }
+ 
+   private static class Response implements ApiResponse<TimeZone> {
+     public String status;
+     public String errorMessage;
+ 
+     private String timeZoneId;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status);
+     }
+ 
+     @Override
+     public TimeZone getResult() {
+       if (timeZoneId == null) {
+         return null;
+       }
+       return TimeZone.getTimeZone(timeZoneId);
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-1e.html b/CodeCoverageReport/ns-1/sources/source-1e.html new file mode 100644 index 000000000..469cef5dd --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-1e.html @@ -0,0 +1,152 @@ + + + + + + + + Coverage Report > PendingResult + + + + + + +
+ + +

Coverage Summary for Class: PendingResult (com.google.maps)

+ + + + + + + + + + + + +
Class
PendingResult$Callback
Total
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import java.io.IOException;
+ 
+ /**
+  * A pending result from an API call.
+  *
+  * @param <T> the type of the result object.
+  */
+ public interface PendingResult<T> {
+ 
+   /**
+    * Performs the request asynchronously, calling {@link
+    * com.google.maps.PendingResult.Callback#onResult onResult} or {@link
+    * com.google.maps.PendingResult.Callback#onFailure onFailure} after the request has been
+    * completed.
+    *
+    * @param callback The callback to call on completion.
+    */
+   void setCallback(Callback<T> callback);
+ 
+   /**
+    * Performs the request synchronously.
+    *
+    * @return The result.
+    * @throws ApiException Thrown if the API Returned result is an error.
+    * @throws InterruptedException Thrown when a thread is waiting, sleeping, or otherwise occupied,
+    *     and the thread is interrupted.
+    * @throws IOException Thrown when an I/O exception of some sort has occurred.
+    */
+   T await() throws ApiException, InterruptedException, IOException;
+ 
+   /**
+    * Performs the request synchronously, ignoring exceptions while performing the request and errors
+    * returned by the server.
+    *
+    * @return The result, or null if there was any error or exception ignored.
+    */
+   T awaitIgnoreError();
+ 
+   /** Attempts to cancel the request. */
+   void cancel();
+ 
+   /**
+    * The callback interface the API client code needs to implement to handle API results.
+    *
+    * @param <T> The type of the result object.
+    */
+   interface Callback<T> {
+ 
+     /**
+      * Called when the request was successfully completed.
+      *
+      * @param result The result of the call.
+      */
+     void onResult(T result);
+ 
+     /**
+      * Called when there was an error performing the request.
+      *
+      * @param e The exception describing the failure.
+      */
+     void onFailure(Throwable e);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-2.html b/CodeCoverageReport/ns-1/sources/source-2.html new file mode 100644 index 000000000..04ddc08ae --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-2.html @@ -0,0 +1,576 @@ + + + + + + + + Coverage Report > DirectionsApiRequest + + + + + + +
+ + +

Coverage Summary for Class: DirectionsApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
DirectionsApiRequest + + 72% + + + (18/25) + + + + 60% + + + (18/30) + + + + 66.7% + + + (38/57) + +
DirectionsApiRequest$Waypoint + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (17/17) + +
Total + + 76.7% + + + (23/30) + + + + 62.5% + + + (20/32) + + + + 74.3% + + + (55/74) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ import static java.util.Objects.requireNonNull;
+ 
+ import com.google.maps.model.DirectionsResult;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.TrafficModel;
+ import com.google.maps.model.TransitMode;
+ import com.google.maps.model.TransitRoutingPreference;
+ import com.google.maps.model.TravelMode;
+ import com.google.maps.model.Unit;
+ import java.time.Instant;
+ 
+ /** Request for the Directions API. */
+ public class DirectionsApiRequest
+     extends PendingResultBase<DirectionsResult, DirectionsApiRequest, DirectionsApi.Response> {
+ 
+   public DirectionsApiRequest(GeoApiContext context) {
+     super(context, DirectionsApi.API_CONFIG, DirectionsApi.Response.class);
+   }
+ 
+   protected boolean optimizeWaypoints;
+   protected Waypoint[] waypoints;
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("origin")) {
+       throw new IllegalArgumentException("Request must contain 'origin'");
+     }
+     if (!params().containsKey("destination")) {
+       throw new IllegalArgumentException("Request must contain 'destination'");
+     }
+     if (params().containsKey("arrival_time") && params().containsKey("departure_time")) {
+       throw new IllegalArgumentException(
+           "Transit request must not contain both a departureTime and an arrivalTime");
+     }
+     if (params().containsKey("traffic_model") && !params().containsKey("departure_time")) {
+       throw new IllegalArgumentException(
+           "Specifying a traffic model requires that departure time be provided.");
+     }
+   }
+ 
+   /**
+    * The address or textual latitude/longitude value from which you wish to calculate directions. If
+    * you pass an address as a location, the Directions service will geocode the location and convert
+    * it to a latitude/longitude coordinate to calculate directions. If you pass coordinates, ensure
+    * that no space exists between the latitude and longitude values.
+    *
+    * @param origin The starting location for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest origin(String origin) {
+     return param("origin", origin);
+   }
+ 
+   /**
+    * The address or textual latitude/longitude value from which you wish to calculate directions. If
+    * you pass an address as a location, the Directions service will geocode the location and convert
+    * it to a latitude/longitude coordinate to calculate directions. If you pass coordinates, ensure
+    * that no space exists between the latitude and longitude values.
+    *
+    * @param destination The ending location for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest destination(String destination) {
+     return param("destination", destination);
+   }
+ 
+   /**
+    * The Place ID value from which you wish to calculate directions.
+    *
+    * @param originPlaceId The starting location Place ID for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest originPlaceId(String originPlaceId) {
+     return param("origin", prefixPlaceId(originPlaceId));
+   }
+ 
+   /**
+    * The Place ID value from which you wish to calculate directions.
+    *
+    * @param destinationPlaceId The ending location Place ID for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest destinationPlaceId(String destinationPlaceId) {
+     return param("destination", prefixPlaceId(destinationPlaceId));
+   }
+ 
+   /**
+    * The origin, as a latitude/longitude location.
+    *
+    * @param origin The starting location for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest origin(LatLng origin) {
+     return origin(origin.toString());
+   }
+ 
+   /**
+    * The destination, as a latitude/longitude location.
+    *
+    * @param destination The ending location for the Directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest destination(LatLng destination) {
+     return destination(destination.toString());
+   }
+ 
+   /**
+    * Specifies the mode of transport to use when calculating directions. The mode defaults to
+    * driving if left unspecified. If you set the mode to {@code TRANSIT} you must also specify
+    * either a {@code departureTime} or an {@code arrivalTime}.
+    *
+    * @param mode The travel mode to request directions for.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest mode(TravelMode mode) {
+     return param("mode", mode);
+   }
+ 
+   /**
+    * Indicates that the calculated route(s) should avoid the indicated features.
+    *
+    * @param restrictions one or more of {@link DirectionsApi.RouteRestriction} objects.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest avoid(DirectionsApi.RouteRestriction... restrictions) {
+     return param("avoid", join('|', restrictions));
+   }
+ 
+   /**
+    * Specifies the unit system to use when displaying results.
+    *
+    * @param units The preferred units for displaying distances.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest units(Unit units) {
+     return param("units", units);
+   }
+ 
+   /**
+    * @param region The region code, specified as a ccTLD ("top-level domain") two-character value.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest region(String region) {
+     return param("region", region);
+   }
+ 
+   /**
+    * Set the arrival time for a Transit directions request.
+    *
+    * @param time The arrival time to calculate directions for.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest arrivalTime(Instant time) {
+     return param("arrival_time", Long.toString(time.toEpochMilli() / 1000L));
+   }
+ 
+   /**
+    * Set the departure time for a transit or driving directions request. If both departure time and
+    * traffic model are not provided, then "now" is assumed. If traffic model is supplied, then
+    * departure time must be specified. Duration in traffic will only be returned if the departure
+    * time is specified.
+    *
+    * @param time The departure time to calculate directions for.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest departureTime(Instant time) {
+     return param("departure_time", Long.toString(time.toEpochMilli() / 1000L));
+   }
+ 
+   /**
+    * Set the departure time for a transit or driving directions request as the current time. If
+    * traffic model is supplied, then departure time must be specified. Duration in traffic will only
+    * be returned if the departure time is specified.
+    *
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest departureTimeNow() {
+     return param("departure_time", "now");
+   }
+ 
+   /**
+    * Specifies a list of waypoints. Waypoints alter a route by routing it through the specified
+    * location(s). A waypoint is specified as either a latitude/longitude coordinate or as an address
+    * which will be geocoded. Waypoints are only supported for driving, walking and bicycling
+    * directions.
+    *
+    * <p>For more information on waypoints, see <a
+    * href="https://developers.google.com/maps/documentation/directions/intro#Waypoints">Using
+    * Waypoints in Routes</a>.
+    *
+    * @param waypoints The waypoints to add to this directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest waypoints(Waypoint... waypoints) {
+     if (waypoints == null || waypoints.length == 0) {
+       this.waypoints = new Waypoint[0];
+       param("waypoints", "");
+       return this;
+     } else {
+       this.waypoints = waypoints;
+       String[] waypointStrs = new String[waypoints.length];
+       for (int i = 0; i < waypoints.length; i++) {
+         waypointStrs[i] = waypoints[i].toString();
+       }
+       param("waypoints", (optimizeWaypoints ? "optimize:true|" : "") + join('|', waypointStrs));
+       return this;
+     }
+   }
+ 
+   /**
+    * Specifies the list of waypoints as String addresses. If any of the Strings are Place IDs, you
+    * must prefix them with {@code place_id:}.
+    *
+    * <p>See {@link #prefixPlaceId(String)}.
+    *
+    * <p>See {@link #waypoints(Waypoint...)}.
+    *
+    * @param waypoints The waypoints to add to this directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest waypoints(String... waypoints) {
+     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
+     for (int i = 0; i < waypoints.length; i++) {
+       objWaypoints[i] = new Waypoint(waypoints[i]);
+     }
+     return waypoints(objWaypoints);
+   }
+ 
+   /**
+    * Specifies the list of waypoints as Plade ID Strings, prefixing them as required by the API.
+    *
+    * <p>See {@link #prefixPlaceId(String)}.
+    *
+    * <p>See {@link #waypoints(Waypoint...)}.
+    *
+    * @param waypoints The waypoints to add to this directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest waypointsFromPlaceIds(String... waypoints) {
+     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
+     for (int i = 0; i < waypoints.length; i++) {
+       objWaypoints[i] = new Waypoint(prefixPlaceId(waypoints[i]));
+     }
+     return waypoints(objWaypoints);
+   }
+ 
+   /**
+    * The list of waypoints as latitude/longitude locations.
+    *
+    * <p>See {@link #waypoints(Waypoint...)}.
+    *
+    * @param waypoints The waypoints to add to this directions request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest waypoints(LatLng... waypoints) {
+     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
+     for (int i = 0; i < waypoints.length; i++) {
+       objWaypoints[i] = new Waypoint(waypoints[i]);
+     }
+     return waypoints(objWaypoints);
+   }
+ 
+   /**
+    * Allow the Directions service to optimize the provided route by rearranging the waypoints in a
+    * more efficient order.
+    *
+    * @param optimize Whether to optimize waypoints.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest optimizeWaypoints(boolean optimize) {
+     optimizeWaypoints = optimize;
+     if (waypoints != null) {
+       return waypoints(waypoints);
+     } else {
+       return this;
+     }
+   }
+ 
+   /**
+    * If set to true, specifies that the Directions service may provide more than one route
+    * alternative in the response. Note that providing route alternatives may increase the response
+    * time from the server.
+    *
+    * @param alternateRoutes whether to return alternate routes.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest alternatives(boolean alternateRoutes) {
+     if (alternateRoutes) {
+       return param("alternatives", "true");
+     } else {
+       return param("alternatives", "false");
+     }
+   }
+ 
+   /**
+    * Specifies one or more preferred modes of transit. This parameter may only be specified for
+    * requests where the mode is transit.
+    *
+    * @param transitModes The preferred transit modes.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest transitMode(TransitMode... transitModes) {
+     return param("transit_mode", join('|', transitModes));
+   }
+ 
+   /**
+    * Specifies preferences for transit requests. Using this parameter, you can bias the options
+    * returned, rather than accepting the default best route chosen by the API.
+    *
+    * @param pref The transit routing preferences for this request.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest transitRoutingPreference(TransitRoutingPreference pref) {
+     return param("transit_routing_preference", pref);
+   }
+ 
+   /**
+    * Specifies the traffic model to use when requesting future driving directions. Once set, you
+    * must specify a departure time.
+    *
+    * @param trafficModel The traffic model for estimating driving time.
+    * @return Returns this {@code DirectionsApiRequest} for call chaining.
+    */
+   public DirectionsApiRequest trafficModel(TrafficModel trafficModel) {
+     return param("traffic_model", trafficModel);
+   }
+ 
+   /**
+    * Helper method for prefixing a Place ID, as specified by the API.
+    *
+    * @param placeId The Place ID to be prefixed.
+    * @return Returns the Place ID prefixed with {@code place_id:}.
+    */
+   public String prefixPlaceId(String placeId) {
+     return "place_id:" + placeId;
+   }
+ 
+   public static class Waypoint {
+     /** The location of this waypoint, expressed as an API-recognized location. */
+     private String location;
+     /** Whether this waypoint is a stopover waypoint. */
+     private boolean isStopover;
+ 
+     /**
+      * Constructs a stopover Waypoint using a String address.
+      *
+      * @param location Any address or location recognized by the Google Maps API.
+      */
+     public Waypoint(String location) {
+       this(location, true);
+     }
+ 
+     /**
+      * Constructs a Waypoint using a String address.
+      *
+      * @param location Any address or location recognized by the Google Maps API.
+      * @param isStopover Whether this waypoint is a stopover waypoint.
+      */
+     public Waypoint(String location, boolean isStopover) {
+       requireNonNull(location, "address may not be null");
+       this.location = location;
+       this.isStopover = isStopover;
+     }
+ 
+     /**
+      * Constructs a stopover Waypoint using a Latlng location.
+      *
+      * @param location The LatLng coordinates of this waypoint.
+      */
+     public Waypoint(LatLng location) {
+       this(location, true);
+     }
+ 
+     /**
+      * Constructs a Waypoint using a LatLng location.
+      *
+      * @param location The LatLng coordinates of this waypoint.
+      * @param isStopover Whether this waypoint is a stopover waypoint.
+      */
+     public Waypoint(LatLng location, boolean isStopover) {
+       requireNonNull(location, "location may not be null");
+       this.location = location.toString();
+       this.isStopover = isStopover;
+     }
+ 
+     /**
+      * Gets the String representation of this Waypoint, as an API request parameter fragment.
+      *
+      * @return The HTTP parameter fragment representing this waypoint.
+      */
+     @Override
+     public String toString() {
+       if (isStopover) {
+         return location;
+       } else {
+         return "via:" + location;
+       }
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-3.html b/CodeCoverageReport/ns-1/sources/source-3.html new file mode 100644 index 000000000..e769e080b --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-3.html @@ -0,0 +1,231 @@ + + + + + + + + Coverage Report > DistanceMatrixApi + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrixApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
DistanceMatrixApi + + 75% + + + (3/4) + + + + 75% + + + (3/4) + +
DistanceMatrixApi$Response + + 75% + + + (3/4) + + + + 0% + + + (0/2) + + + + 50% + + + (3/6) + +
Total + + 75% + + + (6/8) + + + + 0% + + + (0/2) + + + + 60% + + + (6/10) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.DistanceMatrix;
+ import com.google.maps.model.DistanceMatrixRow;
+ 
+ /**
+  * The Google Distance Matrix API is a service that provides travel distance and time for a matrix
+  * of origins and destinations. The information returned is based on the recommended route between
+  * start and end points, as calculated by the Google Maps API, and consists of rows containing
+  * duration and distance values for each pair.
+  *
+  * <p>This service does not return detailed route information. Route information can be obtained by
+  * passing the desired single origin and destination to the Directions API, using {@link
+  * com.google.maps.DirectionsApi}.
+  *
+  * <p><strong>Note:</strong> You can display Distance Matrix API results on a Google Map, or without
+  * a map. If you want to display Distance Matrix API results on a map, then these results must be
+  * displayed on a Google Map. It is prohibited to use Distance Matrix API data on a map that is not
+  * a Google map.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/distancematrix/">Distance Matrix
+  *     API Documentation</a>
+  */
+ public class DistanceMatrixApi {
+   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/distancematrix/json");
+ 
+   private DistanceMatrixApi() {}
+ 
+   public static DistanceMatrixApiRequest newRequest(GeoApiContext context) {
+     return new DistanceMatrixApiRequest(context);
+   }
+ 
+   public static DistanceMatrixApiRequest getDistanceMatrix(
+       GeoApiContext context, String[] origins, String[] destinations) {
+     return newRequest(context).origins(origins).destinations(destinations);
+   }
+ 
+   public static class Response implements ApiResponse<DistanceMatrix> {
+     public String status;
+     public String errorMessage;
+     public String[] originAddresses;
+     public String[] destinationAddresses;
+     public DistanceMatrixRow[] rows;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status);
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+ 
+     @Override
+     public DistanceMatrix getResult() {
+       return new DistanceMatrix(originAddresses, destinationAddresses, rows);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-4.html b/CodeCoverageReport/ns-1/sources/source-4.html new file mode 100644 index 000000000..c1ae63ae3 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-4.html @@ -0,0 +1,321 @@ + + + + + + + + Coverage Report > DistanceMatrixApiRequest + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrixApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DistanceMatrixApiRequest + + 100% + + + (1/1) + + + + 78.6% + + + (11/14) + + + + 56.2% + + + (9/16) + + + + 73.1% + + + (19/26) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.maps.DirectionsApi.RouteRestriction;
+ import com.google.maps.DistanceMatrixApi.Response;
+ import com.google.maps.model.DistanceMatrix;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.TrafficModel;
+ import com.google.maps.model.TransitMode;
+ import com.google.maps.model.TransitRoutingPreference;
+ import com.google.maps.model.TravelMode;
+ import com.google.maps.model.Unit;
+ import java.time.Instant;
+ 
+ /** A request to the Distance Matrix API. */
+ public class DistanceMatrixApiRequest
+     extends PendingResultBase<DistanceMatrix, DistanceMatrixApiRequest, Response> {
+ 
+   public DistanceMatrixApiRequest(GeoApiContext context) {
+     super(context, DistanceMatrixApi.API_CONFIG, Response.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("origins")) {
+       throw new IllegalArgumentException("Request must contain 'origins'");
+     }
+     if (!params().containsKey("destinations")) {
+       throw new IllegalArgumentException("Request must contain 'destinations'");
+     }
+     if (params().containsKey("arrival_time") && params().containsKey("departure_time")) {
+       throw new IllegalArgumentException(
+           "Transit request must not contain both a departureTime and an arrivalTime");
+     }
+   }
+ 
+   /**
+    * One or more addresses from which to calculate distance and time. The service will geocode the
+    * strings and convert them to latitude/longitude coordinates to calculate directions.
+    *
+    * @param origins Strings to geocode and use as an origin point (e.g. "New York, NY")
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest origins(String... origins) {
+     return param("origins", join('|', origins));
+   }
+ 
+   /**
+    * One or more latitude/longitude values from which to calculate distance and time.
+    *
+    * @param points The origin points.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest origins(LatLng... points) {
+     return param("origins", join('|', points));
+   }
+ 
+   /**
+    * One or more addresses to which to calculate distance and time. The service will geocode the
+    * strings and convert them to latitude/longitude coordinates to calculate directions.
+    *
+    * @param destinations Strings to geocode and use as a destination point (e.g. "Jersey City, NJ")
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest destinations(String... destinations) {
+     return param("destinations", join('|', destinations));
+   }
+ 
+   /**
+    * One or more latitude/longitude values to which to calculate distance and time.
+    *
+    * @param points The destination points.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest destinations(LatLng... points) {
+     return param("destinations", join('|', points));
+   }
+ 
+   /**
+    * Specifies the mode of transport to use when calculating directions.
+    *
+    * <p>Note that Distance Matrix requests only support {@link TravelMode#DRIVING}, {@link
+    * TravelMode#WALKING}, {@link TravelMode#BICYCLING} and {@link TravelMode#TRANSIT}.
+    *
+    * @param mode One of the travel modes supported by the Distance Matrix API.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest mode(TravelMode mode) {
+     if (TravelMode.DRIVING.equals(mode)
+         || TravelMode.WALKING.equals(mode)
+         || TravelMode.BICYCLING.equals(mode)
+         || TravelMode.TRANSIT.equals(mode)) {
+       return param("mode", mode);
+     }
+     throw new IllegalArgumentException(
+         "Distance Matrix API travel modes must be Driving, Transit, Walking or Bicycling");
+   }
+ 
+   /**
+    * Introduces restrictions to the route. Only one restriction can be specified.
+    *
+    * @param restriction A {@link RouteRestriction} object.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest avoid(RouteRestriction restriction) {
+     return param("avoid", restriction);
+   }
+ 
+   /**
+    * Specifies the unit system to use when expressing distance as text. Distance Matrix results
+    * contain text within distance fields to indicate the distance of the calculated route.
+    *
+    * @param unit One of {@link Unit#METRIC} or {@link Unit#IMPERIAL}.
+    * @see <a
+    *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#unit_systems">
+    *     Unit systems in the Distance Matrix API</a>
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest units(Unit unit) {
+     return param("units", unit);
+   }
+ 
+   /**
+    * Specifies the desired time of departure.
+    *
+    * <p>The departure time may be specified in two cases:
+    *
+    * <ul>
+    *   <li>For requests where the travel mode is transit: You can optionally specify one of
+    *       departure_time or arrival_time. If neither time is specified, the departure_time defaults
+    *       to now. (That is, the departure time defaults to the current time.)
+    *   <li>For requests where the travel mode is driving: Google Maps API for Work customers can
+    *       specify the departure_time to receive trip duration considering current traffic
+    *       conditions. The departure_time must be set to within a few minutes of the current time.
+    * </ul>
+    *
+    * <p>Setting the parameter to null will remove it from the API request.
+    *
+    * @param departureTime The time of departure.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest departureTime(Instant departureTime) {
+     return param("departure_time", Long.toString(departureTime.toEpochMilli() / 1000L));
+   }
+ 
+   /**
+    * Specifies the assumptions to use when calculating time in traffic. This parameter may only be
+    * specified when the travel mode is driving and the request includes a departure_time.
+    *
+    * @param trafficModel The traffic model to use in estimating time in traffic.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest trafficModel(TrafficModel trafficModel) {
+     return param("traffic_model", trafficModel);
+   }
+ 
+   /**
+    * Specifies the desired time of arrival for transit requests. You can specify either
+    * departure_time or arrival_time, but not both.
+    *
+    * @param arrivalTime The preferred arrival time.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest arrivalTime(Instant arrivalTime) {
+     return param("arrival_time", Long.toString(arrivalTime.toEpochMilli() / 1000L));
+   }
+ 
+   /**
+    * Specifies one or more preferred modes of transit. This parameter may only be specified for
+    * requests where the mode is transit.
+    *
+    * @param transitModes The preferred transit modes.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest transitModes(TransitMode... transitModes) {
+     return param("transit_mode", join('|', transitModes));
+   }
+ 
+   /**
+    * Specifies preferences for transit requests. Using this parameter, you can bias the options
+    * returned, rather than accepting the default best route chosen by the API.
+    *
+    * @param pref The transit routing preference for this distance matrix.
+    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
+    */
+   public DistanceMatrixApiRequest transitRoutingPreference(TransitRoutingPreference pref) {
+     return param("transit_routing_preference", pref);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-5.html b/CodeCoverageReport/ns-1/sources/source-5.html new file mode 100644 index 000000000..b362ad2cf --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-5.html @@ -0,0 +1,358 @@ + + + + + + + + Coverage Report > ElevationApi + + + + + + +
+ + +

Coverage Summary for Class: ElevationApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
ElevationApi + + 87.5% + + + (7/8) + + + + 50% + + + (1/2) + + + + 93.3% + + + (14/15) + +
ElevationApi$MultiResponse + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 83.3% + + + (5/6) + +
ElevationApi$SingularResponse + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 83.3% + + + (5/6) + +
Total + + 93.8% + + + (15/16) + + + + 50% + + + (3/6) + + + + 88.9% + + + (24/27) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.PolylineEncoding;
+ import com.google.maps.model.ElevationResult;
+ import com.google.maps.model.EncodedPolyline;
+ import com.google.maps.model.LatLng;
+ 
+ /**
+  * The Google Elevation API provides a simple interface to query locations on the earth for
+  * elevation data. Additionally, you may request sampled elevation data along paths, allowing you to
+  * calculate elevation changes along routes.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/elevation/start">the Google Maps
+  * Elevation API documentation</a>.
+  */
+ public class ElevationApi {
+   private static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/elevation/json");
+ 
+   private ElevationApi() {}
+ 
+   /**
+    * Gets a list of elevations for a list of points.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param points The points to retrieve elevations for.
+    * @return The elevations as a {@link PendingResult}.
+    */
+   public static PendingResult<ElevationResult[]> getByPoints(
+       GeoApiContext context, LatLng... points) {
+     return context.get(API_CONFIG, MultiResponse.class, "locations", shortestParam(points));
+   }
+ 
+   /**
+    * See <a href="https://developers.google.com/maps/documentation/elevation/intro#Paths">
+    * documentation</a>.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param samples The number of samples to retrieve heights along {@code path}.
+    * @param path The path to sample.
+    * @return The elevations as a {@link PendingResult}.
+    */
+   public static PendingResult<ElevationResult[]> getByPath(
+       GeoApiContext context, int samples, LatLng... path) {
+     return context.get(
+         API_CONFIG,
+         MultiResponse.class,
+         "samples",
+         String.valueOf(samples),
+         "path",
+         shortestParam(path));
+   }
+ 
+   /**
+    * See <a href="https://developers.google.com/maps/documentation/elevation/intro#Paths">
+    * documentation</a>.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param samples The number of samples to retrieve heights along {@code encodedPolyline}.
+    * @param encodedPolyline The path to sample as an encoded polyline.
+    * @return The elevations as a {@link PendingResult}.
+    */
+   public static PendingResult<ElevationResult[]> getByPath(
+       GeoApiContext context, int samples, EncodedPolyline encodedPolyline) {
+     return context.get(
+         API_CONFIG,
+         MultiResponse.class,
+         "samples",
+         String.valueOf(samples),
+         "path",
+         "enc:" + encodedPolyline.getEncodedPath());
+   }
+ 
+   /**
+    * Chooses the shortest param (only a guess, since the length is different after URL encoding).
+    */
+   private static String shortestParam(LatLng[] points) {
+     String joined = join('|', points);
+     String encoded = "enc:" + PolylineEncoding.encode(points);
+     return joined.length() < encoded.length() ? joined : encoded;
+   }
+ 
+   /**
+    * Retrieves the elevation of a single location.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param location The location to retrieve the elevation for.
+    * @return The elevation as a {@link PendingResult}.
+    */
+   public static PendingResult<ElevationResult> getByPoint(GeoApiContext context, LatLng location) {
+     return context.get(API_CONFIG, SingularResponse.class, "locations", location.toString());
+   }
+ 
+   private static class SingularResponse implements ApiResponse<ElevationResult> {
+     public String status;
+     public String errorMessage;
+     public ElevationResult[] results;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status);
+     }
+ 
+     @Override
+     public ElevationResult getResult() {
+       return results[0];
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ 
+   /**
+    * Retrieves the elevations of an encoded polyline path.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param encodedPolyline The encoded polyline to retrieve elevations for.
+    * @return The elevations as a {@link PendingResult}.
+    */
+   public static PendingResult<ElevationResult[]> getByPoints(
+       GeoApiContext context, EncodedPolyline encodedPolyline) {
+     return context.get(
+         API_CONFIG, MultiResponse.class, "locations", "enc:" + encodedPolyline.getEncodedPath());
+   }
+ 
+   private static class MultiResponse implements ApiResponse<ElevationResult[]> {
+     public String status;
+     public String errorMessage;
+     public ElevationResult[] results;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status);
+     }
+ 
+     @Override
+     public ElevationResult[] getResult() {
+       return results;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-6.html b/CodeCoverageReport/ns-1/sources/source-6.html new file mode 100644 index 000000000..564db212d --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-6.html @@ -0,0 +1,490 @@ + + + + + + + + Coverage Report > FindPlaceFromTextRequest + + + + + + +
+ + +

Coverage Summary for Class: FindPlaceFromTextRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
FindPlaceFromTextRequest + + 100% + + + (7/7) + + + + 50% + + + (2/4) + + + + 85.7% + + + (12/14) + +
FindPlaceFromTextRequest$FieldMask + + 100% + + + (3/3) + + + + 100% + + + (18/18) + +
FindPlaceFromTextRequest$InputType + + 100% + + + (3/3) + + + + 100% + + + (7/7) + +
FindPlaceFromTextRequest$LocationBias
FindPlaceFromTextRequest$LocationBiasCircular + + 100% + + + (2/2) + + + + 100% + + + (5/5) + +
FindPlaceFromTextRequest$LocationBiasIP + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
FindPlaceFromTextRequest$LocationBiasPoint + + 100% + + + (2/2) + + + + 100% + + + (4/4) + +
FindPlaceFromTextRequest$LocationBiasRectangular + + 100% + + + (2/2) + + + + 100% + + + (5/5) + +
FindPlaceFromTextRequest$Response + + 75% + + + (3/4) + + + + 16.7% + + + (1/6) + + + + 62.5% + + + (5/8) + +
Total + + 96% + + + (24/25) + + + + 30% + + + (3/10) + + + + 92.1% + + + (58/63) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import com.google.maps.model.FindPlaceFromText;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.PlacesSearchResult;
+ 
+ public class FindPlaceFromTextRequest
+     extends PendingResultBase<
+         FindPlaceFromText, FindPlaceFromTextRequest, FindPlaceFromTextRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/findplacefromtext/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
+           .supportsClientId(false);
+ 
+   public FindPlaceFromTextRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   public enum InputType implements UrlValue {
+     TEXT_QUERY("textquery"),
+     PHONE_NUMBER("phonenumber");
+ 
+     private final String inputType;
+ 
+     InputType(final String inputType) {
+       this.inputType = inputType;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return this.inputType;
+     }
+   }
+ 
+   /**
+    * The text input specifying which place to search for (for example, a name, address, or phone
+    * number).
+    *
+    * @param input The text input.
+    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
+    */
+   public FindPlaceFromTextRequest input(String input) {
+     return param("input", input);
+   }
+ 
+   /**
+    * The type of input.
+    *
+    * @param inputType The input type.
+    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
+    */
+   public FindPlaceFromTextRequest inputType(InputType inputType) {
+     return param("inputtype", inputType);
+   }
+ 
+   /**
+    * The fields specifying the types of place data to return.
+    *
+    * @param fields The fields to return.
+    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
+    */
+   public FindPlaceFromTextRequest fields(FieldMask... fields) {
+     return param("fields", StringJoin.join(',', fields));
+   }
+ 
+   /**
+    * Prefer results in a specified area, by specifying either a radius plus lat/lng, or two lat/lng
+    * pairs representing the points of a rectangle.
+    *
+    * @param locationBias The location bias for this request.
+    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
+    */
+   public FindPlaceFromTextRequest locationBias(LocationBias locationBias) {
+     return param("locationbias", locationBias);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("input")) {
+       throw new IllegalArgumentException("Request must contain 'input'.");
+     }
+     if (!params().containsKey("inputtype")) {
+       throw new IllegalArgumentException("Request must contain 'inputType'.");
+     }
+   }
+ 
+   public static class Response implements ApiResponse<FindPlaceFromText> {
+ 
+     public String status;
+     public PlacesSearchResult candidates[];
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public FindPlaceFromText getResult() {
+       FindPlaceFromText result = new FindPlaceFromText();
+       result.candidates = candidates;
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ 
+   public enum FieldMask implements UrlValue {
+     BUSINESS_STATUS("business_status"),
+     FORMATTED_ADDRESS("formatted_address"),
+     GEOMETRY("geometry"),
+     ICON("icon"),
+     ID("id"),
+     NAME("name"),
+     OPENING_HOURS("opening_hours"),
+     @Deprecated
+     PERMANENTLY_CLOSED("permanently_closed"),
+     PHOTOS("photos"),
+     PLACE_ID("place_id"),
+     PRICE_LEVEL("price_level"),
+     RATING("rating"),
+     TYPES("types");
+ 
+     private final String field;
+ 
+     FieldMask(final String field) {
+       this.field = field;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return field;
+     }
+   }
+ 
+   public interface LocationBias extends UrlValue {}
+ 
+   public static class LocationBiasIP implements LocationBias {
+     @Override
+     public String toUrlValue() {
+       return "ipbias";
+     }
+   }
+ 
+   public static class LocationBiasPoint implements LocationBias {
+     private final LatLng point;
+ 
+     public LocationBiasPoint(LatLng point) {
+       this.point = point;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return "point:" + point.toUrlValue();
+     }
+   }
+ 
+   public static class LocationBiasCircular implements LocationBias {
+     private final LatLng center;
+     private final int radius;
+ 
+     public LocationBiasCircular(LatLng center, int radius) {
+       this.center = center;
+       this.radius = radius;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return "circle:" + radius + "@" + center.toUrlValue();
+     }
+   }
+ 
+   public static class LocationBiasRectangular implements LocationBias {
+     private final LatLng southWest;
+     private final LatLng northEast;
+ 
+     public LocationBiasRectangular(LatLng southWest, LatLng northEast) {
+       this.southWest = southWest;
+       this.northEast = northEast;
+     }
+ 
+     @Override
+     public String toUrlValue() {
+       return "rectangle:" + southWest.toUrlValue() + "|" + northEast.toUrlValue();
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-7.html b/CodeCoverageReport/ns-1/sources/source-7.html new file mode 100644 index 000000000..bd77c0978 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-7.html @@ -0,0 +1,297 @@ + + + + + + + + Coverage Report > GaeRequestHandler + + + + + + +
+ + +

Coverage Summary for Class: GaeRequestHandler (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Line, % +
GaeRequestHandler + + 0% + + + (0/7) + + + + 0% + + + (0/24) + +
GaeRequestHandler$Builder + + 0% + + + (0/8) + + + + 0% + + + (0/8) + +
Total + + 0% + + + (0/15) + + + + 0% + + + (0/32) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 
+ import com.google.appengine.api.urlfetch.FetchOptions;
+ import com.google.appengine.api.urlfetch.HTTPHeader;
+ import com.google.appengine.api.urlfetch.HTTPMethod;
+ import com.google.appengine.api.urlfetch.HTTPRequest;
+ import com.google.appengine.api.urlfetch.URLFetchService;
+ import com.google.appengine.api.urlfetch.URLFetchServiceFactory;
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.GeoApiContext.RequestHandler;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.ExceptionsAllowedToRetry;
+ import com.google.maps.internal.GaePendingResult;
+ import com.google.maps.metrics.RequestMetrics;
+ import java.net.MalformedURLException;
+ import java.net.Proxy;
+ import java.net.URL;
+ import java.util.Map;
+ import java.util.concurrent.TimeUnit;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ /**
+  * A strategy for handling URL requests using Google App Engine's URL Fetch API.
+  *
+  * @see com.google.maps.GeoApiContext.RequestHandler
+  */
+ public class GaeRequestHandler implements GeoApiContext.RequestHandler {
+   private static final Logger LOG = LoggerFactory.getLogger(GaeRequestHandler.class.getName());
+   private final URLFetchService client = URLFetchServiceFactory.getURLFetchService();
+ 
+   /* package */ GaeRequestHandler() {}
+ 
+   @Override
+   public <T, R extends ApiResponse<T>> PendingResult<T> handle(
+       String hostName,
+       String url,
+       Map<String, String> headers,
+       Class<R> clazz,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeout,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     FetchOptions fetchOptions = FetchOptions.Builder.withDeadline(10);
+     final HTTPRequest req;
+     try {
+       req = new HTTPRequest(new URL(hostName + url), HTTPMethod.POST, fetchOptions);
+       headers.forEach(
+           (k, v) -> {
+             req.addHeader(new HTTPHeader(k, v));
+           });
+     } catch (MalformedURLException e) {
+       LOG.error("Request: {}{}", hostName, url, e);
+       throw (new RuntimeException(e));
+     }
+ 
+     return new GaePendingResult<>(
+         req,
+         client,
+         clazz,
+         fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         metrics);
+   }
+ 
+   @Override
+   public <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
+       String hostName,
+       String url,
+       String payload,
+       Map<String, String> headers,
+       Class<R> clazz,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeout,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     FetchOptions fetchOptions = FetchOptions.Builder.withDeadline(10);
+     final HTTPRequest req;
+     try {
+       req = new HTTPRequest(new URL(hostName + url), HTTPMethod.POST, fetchOptions);
+       req.setHeader(new HTTPHeader("Content-Type", "application/json; charset=utf-8"));
+       headers.forEach(
+           (k, v) -> {
+             req.addHeader(new HTTPHeader(k, v));
+           });
+       req.setPayload(payload.getBytes(UTF_8));
+     } catch (MalformedURLException e) {
+       LOG.error("Request: {}{}", hostName, url, e);
+       throw (new RuntimeException(e));
+     }
+ 
+     return new GaePendingResult<>(
+         req,
+         client,
+         clazz,
+         fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         metrics);
+   }
+ 
+   @Override
+   public void shutdown() {
+     // do nothing
+   }
+ 
+   /** Builder strategy for constructing {@code GaeRequestHandler}. */
+   public static class Builder implements GeoApiContext.RequestHandler.Builder {
+ 
+     @Override
+     public Builder connectTimeout(long timeout, TimeUnit unit) {
+       throw new RuntimeException("connectTimeout not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public Builder readTimeout(long timeout, TimeUnit unit) {
+       throw new RuntimeException("readTimeout not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public Builder writeTimeout(long timeout, TimeUnit unit) {
+       throw new RuntimeException("writeTimeout not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public Builder queriesPerSecond(int maxQps) {
+       throw new RuntimeException("queriesPerSecond not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public Builder proxy(Proxy proxy) {
+       throw new RuntimeException("setProxy not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
+       throw new RuntimeException("setProxyAuthentication not implemented for Google App Engine");
+     }
+ 
+     @Override
+     public RequestHandler build() {
+       return new GaeRequestHandler();
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-8.html b/CodeCoverageReport/ns-1/sources/source-8.html new file mode 100644 index 000000000..18ab6b15a --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-8.html @@ -0,0 +1,796 @@ + + + + + + + + Coverage Report > GeoApiContext + + + + + + +
+ + +

Coverage Summary for Class: GeoApiContext (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
GeoApiContext + + 83.3% + + + (10/12) + + + + 55% + + + (33/60) + + + + 79% + + + (79/100) + +
GeoApiContext$Builder + + 55% + + + (11/20) + + + + 25% + + + (1/4) + + + + 55.8% + + + (29/52) + +
GeoApiContext$RequestHandler
GeoApiContext$RequestHandler$Builder
Total + + 65.6% + + + (21/32) + + + + 53.1% + + + (34/64) + + + + 71.1% + + + (108/152) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.errors.OverQueryLimitException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.internal.ExceptionsAllowedToRetry;
+ import com.google.maps.internal.HttpHeaders;
+ import com.google.maps.internal.UrlSigner;
+ import com.google.maps.metrics.NoOpRequestMetricsReporter;
+ import com.google.maps.metrics.RequestMetrics;
+ import com.google.maps.metrics.RequestMetricsReporter;
+ import java.io.Closeable;
+ import java.io.IOException;
+ import java.io.UnsupportedEncodingException;
+ import java.net.Proxy;
+ import java.net.URLEncoder;
+ import java.security.InvalidKeyException;
+ import java.security.NoSuchAlgorithmException;
+ import java.util.Collections;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Map.Entry;
+ import java.util.concurrent.TimeUnit;
+ 
+ /**
+  * The entry point for making requests against the Google Geo APIs.
+  *
+  * <p>Construct this object by using the enclosed {@link GeoApiContext.Builder}.
+  *
+  * <h3>GeoApiContexts should be shared</h3>
+  *
+  * GeoApiContext works best when you create a single GeoApiContext instance, or one per API key, and
+  * reuse it for all your Google Geo API queries. This is because each GeoApiContext manages its own
+  * thread pool, back-end client, and other resources.
+  *
+  * <p>When you are finished with a GeoApiContext object, you must call {@link #shutdown()} on it to
+  * release its resources.
+  */
+ public class GeoApiContext implements Closeable {
+ 
+   private static final String VERSION = "@VERSION@"; // Populated by the build script
+   private static final String USER_AGENT = "GoogleGeoApiClientJava/" + VERSION;
+   private static final int DEFAULT_BACKOFF_TIMEOUT_MILLIS = 60 * 1000; // 60s
+ 
+   private final RequestHandler requestHandler;
+   private final String apiKey;
+   private final String baseUrlOverride;
+   private final String channel;
+   private final String clientId;
+   private final long errorTimeout;
+   private final ExceptionsAllowedToRetry exceptionsAllowedToRetry;
+   private final Integer maxRetries;
+   private final UrlSigner urlSigner;
+   private final RequestMetricsReporter requestMetricsReporter;
+   private final Map<String, String> defaultHeaders = new HashMap<>();
+ 
+   /* package */
+   GeoApiContext(
+       RequestHandler requestHandler,
+       String apiKey,
+       String baseUrlOverride,
+       String channel,
+       String clientId,
+       long errorTimeout,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       Integer maxRetries,
+       UrlSigner urlSigner,
+       RequestMetricsReporter requestMetricsReporter) {
+     this.requestHandler = requestHandler;
+     this.apiKey = apiKey;
+     this.baseUrlOverride = baseUrlOverride;
+     this.channel = channel;
+     this.clientId = clientId;
+     this.errorTimeout = errorTimeout;
+     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
+     this.maxRetries = maxRetries;
+     this.urlSigner = urlSigner;
+     this.requestMetricsReporter = requestMetricsReporter;
+     defaultHeaders.put(HttpHeaders.USER_AGENT, USER_AGENT);
+   }
+ 
+   /**
+    * standard Java API to reclaim resources
+    *
+    * @throws IOException
+    */
+   @Override
+   public void close() throws IOException {
+     shutdown();
+   }
+ 
+   /**
+    * The service provider interface that enables requests to be handled via switchable back ends.
+    * There are supplied implementations of this interface for both OkHttp and Google App Engine's
+    * URL Fetch API.
+    *
+    * @see OkHttpRequestHandler
+    * @see GaeRequestHandler
+    */
+   public interface RequestHandler {
+ 
+     <T, R extends ApiResponse<T>> PendingResult<T> handle(
+         String hostName,
+         String url,
+         Map<String, String> headers,
+         Class<R> clazz,
+         FieldNamingPolicy fieldNamingPolicy,
+         long errorTimeout,
+         Integer maxRetries,
+         ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+         RequestMetrics metrics);
+ 
+     <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
+         String hostName,
+         String url,
+         String payload,
+         Map<String, String> headers,
+         Class<R> clazz,
+         FieldNamingPolicy fieldNamingPolicy,
+         long errorTimeout,
+         Integer maxRetries,
+         ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+         RequestMetrics metrics);
+ 
+     void shutdown();
+ 
+     /** Builder pattern for {@code GeoApiContext.RequestHandler}. */
+     interface Builder {
+ 
+       Builder connectTimeout(long timeout, TimeUnit unit);
+ 
+       Builder readTimeout(long timeout, TimeUnit unit);
+ 
+       Builder writeTimeout(long timeout, TimeUnit unit);
+ 
+       Builder queriesPerSecond(int maxQps);
+ 
+       Builder proxy(Proxy proxy);
+ 
+       Builder proxyAuthentication(String proxyUserName, String proxyUserPassword);
+ 
+       RequestHandler build();
+     }
+   }
+ 
+   /**
+    * Shut down this GeoApiContext instance, reclaiming resources. After shutdown() has been called,
+    * no further queries may be done against this instance.
+    */
+   public void shutdown() {
+     requestHandler.shutdown();
+   }
+ 
+   private Map<String, String> addDefaultHeaders(Map<String, String> headers) {
+     Map<String, String> newHeaders = new HashMap<>(headers);
+     for (Entry<String, String> entry : defaultHeaders.entrySet()) {
+       if (!newHeaders.containsKey(entry.getKey())) {
+         newHeaders.put(entry.getKey(), entry.getValue());
+       }
+     }
+     return newHeaders;
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> get(
+       ApiConfig config,
+       Class<? extends R> clazz,
+       Map<String, String> headers,
+       Map<String, List<String>> params) {
+     if (channel != null && !channel.isEmpty() && !params.containsKey("channel")) {
+       params.put("channel", Collections.singletonList(channel));
+     }
+ 
+     StringBuilder query = new StringBuilder();
+ 
+     for (Map.Entry<String, List<String>> param : params.entrySet()) {
+       List<String> values = param.getValue();
+       for (String value : values) {
+         query.append('&').append(param.getKey()).append("=");
+         try {
+           query.append(URLEncoder.encode(value, "UTF-8"));
+         } catch (UnsupportedEncodingException e) {
+           // This should never happen. UTF-8 support is required for every Java implementation.
+           throw new IllegalStateException(e);
+         }
+       }
+     }
+ 
+     return getWithPath(
+         clazz,
+         config.fieldNamingPolicy,
+         config.hostName,
+         config.path,
+         config.supportsClientId,
+         query.toString(),
+         requestMetricsReporter.newRequest(config.path),
+         headers);
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> get(
+       ApiConfig config, Class<? extends R> clazz, Map<String, List<String>> params) {
+     return get(config, clazz, Collections.emptyMap(), params);
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> get(
+       ApiConfig config, Class<? extends R> clazz, Map<String, String> headers, String... params) {
+     // FIXME: Refactor this to reuse implementation in overloaded get()
+     if (params.length % 2 != 0) {
+       throw new IllegalArgumentException("Params must be matching key/value pairs.");
+     }
+ 
+     StringBuilder query = new StringBuilder();
+ 
+     boolean channelSet = false;
+     for (int i = 0; i < params.length; i += 2) {
+       if (params[i].equals("channel")) {
+         channelSet = true;
+       }
+       query.append('&').append(params[i]).append('=');
+ 
+       // URL-encode the parameter.
+       try {
+         query.append(URLEncoder.encode(params[i + 1], "UTF-8"));
+       } catch (UnsupportedEncodingException e) {
+         // This should never happen. UTF-8 support is required for every Java implementation.
+         throw new IllegalStateException(e);
+       }
+     }
+ 
+     // Channel can be supplied per-request or per-context. We prioritize it from the request,
+     // so if it's not provided there, provide it here
+     if (!channelSet && channel != null && !channel.isEmpty()) {
+       query.append("&channel=").append(channel);
+     }
+ 
+     final Map<String, String> allHeaders = addDefaultHeaders(headers);
+ 
+     return getWithPath(
+         clazz,
+         config.fieldNamingPolicy,
+         config.hostName,
+         config.path,
+         config.supportsClientId,
+         query.toString(),
+         requestMetricsReporter.newRequest(config.path),
+         allHeaders);
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> get(
+       ApiConfig config, Class<? extends R> clazz, String... params) {
+     return get(config, clazz, Collections.emptyMap(), params);
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> post(
+       ApiConfig config,
+       Class<? extends R> clazz,
+       Map<String, String> headers,
+       Map<String, List<String>> params) {
+     checkContext(config.supportsClientId);
+ 
+     StringBuilder url = new StringBuilder(config.path);
+     if (config.supportsClientId && clientId != null) {
+       url.append("?client=").append(clientId);
+     } else {
+       url.append("?key=").append(apiKey);
+     }
+ 
+     if (config.supportsClientId && urlSigner != null) {
+       String signature = urlSigner.getSignature(url.toString());
+       url.append("&signature=").append(signature);
+     }
+ 
+     String hostName = config.hostName;
+     if (baseUrlOverride != null) {
+       hostName = baseUrlOverride;
+     }
+ 
+     final Map<String, String> allHeaders = addDefaultHeaders(headers);
+ 
+     return requestHandler.handlePost(
+         hostName,
+         url.toString(),
+         params.get("_payload").get(0),
+         allHeaders,
+         clazz,
+         config.fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         requestMetricsReporter.newRequest(config.path));
+   }
+ 
+   <T, R extends ApiResponse<T>> PendingResult<T> post(
+       ApiConfig config, Class<? extends R> clazz, Map<String, List<String>> params) {
+     return post(config, clazz, Collections.emptyMap(), params);
+   }
+ 
+   private <T, R extends ApiResponse<T>> PendingResult<T> getWithPath(
+       Class<R> clazz,
+       FieldNamingPolicy fieldNamingPolicy,
+       String hostName,
+       String path,
+       boolean canUseClientId,
+       String encodedPath,
+       RequestMetrics metrics,
+       Map<String, String> headers) {
+     checkContext(canUseClientId);
+     if (!encodedPath.startsWith("&")) {
+       throw new IllegalArgumentException("encodedPath must start with &");
+     }
+ 
+     StringBuilder url = new StringBuilder(path);
+     if (canUseClientId && clientId != null) {
+       url.append("?client=").append(clientId);
+     } else {
+       url.append("?key=").append(apiKey);
+     }
+     url.append(encodedPath);
+ 
+     if (canUseClientId && urlSigner != null) {
+       String signature = urlSigner.getSignature(url.toString());
+       url.append("&signature=").append(signature);
+     }
+ 
+     if (baseUrlOverride != null) {
+       hostName = baseUrlOverride;
+     }
+ 
+     final Map<String, String> allHeaders = addDefaultHeaders(headers);
+ 
+     return requestHandler.handle(
+         hostName,
+         url.toString(),
+         allHeaders,
+         clazz,
+         fieldNamingPolicy,
+         errorTimeout,
+         maxRetries,
+         exceptionsAllowedToRetry,
+         metrics);
+   }
+ 
+   private void checkContext(boolean canUseClientId) {
+     if (urlSigner == null && apiKey == null) {
+       throw new IllegalStateException("Must provide either API key or Maps for Work credentials.");
+     } else if (!canUseClientId && apiKey == null) {
+       throw new IllegalStateException(
+           "API does not support client ID & secret - you must provide a key");
+     }
+     if (urlSigner == null && !apiKey.startsWith("AIza")) {
+       throw new IllegalStateException("Invalid API key.");
+     }
+   }
+ 
+   /** The Builder for {@code GeoApiContext}. */
+   public static class Builder {
+ 
+     private RequestHandler.Builder builder;
+ 
+     private String apiKey;
+     private String baseUrlOverride;
+     private String channel;
+     private String clientId;
+     private long errorTimeout = DEFAULT_BACKOFF_TIMEOUT_MILLIS;
+     private ExceptionsAllowedToRetry exceptionsAllowedToRetry = new ExceptionsAllowedToRetry();
+     private Integer maxRetries;
+     private UrlSigner urlSigner;
+     private RequestMetricsReporter requestMetricsReporter = new NoOpRequestMetricsReporter();
+ 
+     /** Builder pattern for the enclosing {@code GeoApiContext}. */
+     public Builder() {
+       requestHandlerBuilder(new OkHttpRequestHandler.Builder());
+     }
+ 
+     public Builder(RequestHandler.Builder builder) {
+       requestHandlerBuilder(builder);
+     }
+ 
+     /**
+      * Changes the RequestHandler.Builder strategy to change between the {@code
+      * OkHttpRequestHandler} and the {@code GaeRequestHandler}.
+      *
+      * @param builder The {@code RequestHandler.Builder} to use for {@link #build()}
+      * @return Returns this builder for call chaining.
+      * @see OkHttpRequestHandler
+      * @see GaeRequestHandler
+      */
+     public Builder requestHandlerBuilder(RequestHandler.Builder builder) {
+       this.builder = builder;
+       this.exceptionsAllowedToRetry.add(OverQueryLimitException.class);
+       return this;
+     }
+ 
+     /**
+      * Overrides the base URL of the API endpoint. Useful for testing or certain international usage
+      * scenarios.
+      *
+      * @param baseUrl The URL to use, without a trailing slash, e.g. https://maps.googleapis.com
+      * @return Returns this builder for call chaining.
+      */
+     public Builder baseUrlOverride(String baseUrl) {
+       baseUrlOverride = baseUrl;
+       return this;
+     }
+ 
+     /**
+      * Older name for {@link #baseUrlOverride(String)}. This was used back when testing was the only
+      * use case foreseen for this.
+      *
+      * @deprecated Use baseUrlOverride(String) instead.
+      * @param baseUrl The URL to use, without a trailing slash, e.g. https://maps.googleapis.com
+      * @return Returns this builder for call chaining.
+      */
+     @Deprecated
+     Builder baseUrlForTesting(String baseUrl) {
+       return baseUrlOverride(baseUrl);
+     }
+ 
+     /**
+      * Sets the API Key to use for authorizing requests.
+      *
+      * @param apiKey The API Key to use.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder apiKey(String apiKey) {
+       this.apiKey = apiKey;
+       return this;
+     }
+ 
+     /**
+      * Sets the ClientID/Secret pair to use for authorizing requests. Most users should use {@link
+      * #apiKey(String)} instead.
+      *
+      * @param clientId The Client ID to use.
+      * @param cryptographicSecret The Secret to use.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder enterpriseCredentials(String clientId, String cryptographicSecret) {
+       this.clientId = clientId;
+       try {
+         this.urlSigner = new UrlSigner(cryptographicSecret);
+       } catch (NoSuchAlgorithmException | InvalidKeyException e) {
+         throw new IllegalStateException(e);
+       }
+       return this;
+     }
+ 
+     /**
+      * Sets the default channel for requests (can be overridden by requests). Only useful for Google
+      * Maps for Work clients.
+      *
+      * @param channel The channel to use for analytics
+      * @return Returns this builder for call chaining.
+      */
+     public Builder channel(String channel) {
+       this.channel = channel;
+       return this;
+     }
+ 
+     /**
+      * Sets the default connect timeout for new connections. A value of 0 means no timeout.
+      *
+      * @see java.net.URLConnection#setConnectTimeout(int)
+      * @param timeout The connect timeout period in {@code unit}s.
+      * @param unit The connect timeout time unit.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder connectTimeout(long timeout, TimeUnit unit) {
+       builder.connectTimeout(timeout, unit);
+       return this;
+     }
+ 
+     /**
+      * Sets the default read timeout for new connections. A value of 0 means no timeout.
+      *
+      * @see java.net.URLConnection#setReadTimeout(int)
+      * @param timeout The read timeout period in {@code unit}s.
+      * @param unit The read timeout time unit.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder readTimeout(long timeout, TimeUnit unit) {
+       builder.readTimeout(timeout, unit);
+       return this;
+     }
+ 
+     /**
+      * Sets the default write timeout for new connections. A value of 0 means no timeout.
+      *
+      * @param timeout The write timeout period in {@code unit}s.
+      * @param unit The write timeout time unit.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder writeTimeout(long timeout, TimeUnit unit) {
+       builder.writeTimeout(timeout, unit);
+       return this;
+     }
+ 
+     /**
+      * Sets the cumulative time limit for which retry-able errors will be retried. Defaults to 60
+      * seconds. Set to zero to retry requests forever.
+      *
+      * <p>This operates separately from the count-based {@link #maxRetries(Integer)}.
+      *
+      * @param timeout The retry timeout period in {@code unit}s.
+      * @param unit The retry timeout time unit.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder retryTimeout(long timeout, TimeUnit unit) {
+       this.errorTimeout = unit.toMillis(timeout);
+       return this;
+     }
+ 
+     /**
+      * Sets the maximum number of times each retry-able errors will be retried. Set this to null to
+      * not have a max number. Set this to zero to disable retries.
+      *
+      * <p>This operates separately from the time-based {@link #retryTimeout(long, TimeUnit)}.
+      *
+      * @param maxRetries The maximum number of times to retry.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder maxRetries(Integer maxRetries) {
+       this.maxRetries = maxRetries;
+       return this;
+     }
+ 
+     /**
+      * Disables retries completely, by setting max retries to 0 and retry timeout to 0.
+      *
+      * @return Returns this builder for call chaining.
+      */
+     public Builder disableRetries() {
+       maxRetries(0);
+       retryTimeout(0, TimeUnit.MILLISECONDS);
+       return this;
+     }
+ 
+     /**
+      * Sets the maximum number of queries that will be executed during a 1 second interval. The
+      * default is 50. A minimum interval between requests will also be enforced, set to 1/(2 *
+      * {@code maxQps}).
+      *
+      * @param maxQps The maximum queries per second.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder queryRateLimit(int maxQps) {
+       builder.queriesPerSecond(maxQps);
+       return this;
+     }
+ 
+     /**
+      * Allows specific API exceptions to be retried or not retried.
+      *
+      * @param exception The {@code ApiException} to allow or deny being re-tried.
+      * @param allowedToRetry Whether to allow or deny re-trying {@code exception}.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder setIfExceptionIsAllowedToRetry(
+         Class<? extends ApiException> exception, boolean allowedToRetry) {
+       if (allowedToRetry) {
+         exceptionsAllowedToRetry.add(exception);
+       } else {
+         exceptionsAllowedToRetry.remove(exception);
+       }
+       return this;
+     }
+ 
+     /**
+      * Sets the proxy for new connections.
+      *
+      * @param proxy The proxy to be used by the underlying HTTP client.
+      * @return Returns this builder for call chaining.
+      */
+     public Builder proxy(Proxy proxy) {
+       builder.proxy(proxy == null ? Proxy.NO_PROXY : proxy);
+       return this;
+     }
+ 
+     /**
+      * set authentication for proxy
+      *
+      * @param proxyUserName username for proxy authentication
+      * @param proxyUserPassword username for proxy authentication
+      * @return Returns this builder for call chaining.
+      */
+     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
+       builder.proxyAuthentication(proxyUserName, proxyUserPassword);
+       return this;
+     }
+ 
+     public Builder requestMetricsReporter(RequestMetricsReporter requestMetricsReporter) {
+       this.requestMetricsReporter = requestMetricsReporter;
+       return this;
+     }
+ 
+     /**
+      * Converts this builder into a {@code GeoApiContext}.
+      *
+      * @return Returns the built {@code GeoApiContext}.
+      */
+     public GeoApiContext build() {
+       return new GeoApiContext(
+           builder.build(),
+           apiKey,
+           baseUrlOverride,
+           channel,
+           clientId,
+           errorTimeout,
+           exceptionsAllowedToRetry,
+           maxRetries,
+           urlSigner,
+           requestMetricsReporter);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-9.html b/CodeCoverageReport/ns-1/sources/source-9.html new file mode 100644 index 000000000..fdb71989c --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-9.html @@ -0,0 +1,244 @@ + + + + + + + + Coverage Report > GeocodingApi + + + + + + +
+ + +

Coverage Summary for Class: GeocodingApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
GeocodingApi + + 25% + + + (1/4) + + + + 12.5% + + + (1/8) + +
GeocodingApi$Response + + 100% + + + (4/4) + + + + 66.7% + + + (4/6) + + + + 83.3% + + + (5/6) + +
Total + + 62.5% + + + (5/8) + + + + 66.7% + + + (4/6) + + + + 42.9% + + + (6/14) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.GeocodingResult;
+ import com.google.maps.model.LatLng;
+ 
+ /**
+  * Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View,
+  * CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you
+  * can use to place markers or position the map. Reverse geocoding is the process of converting
+  * geographic coordinates into a human-readable address.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/geocoding/">Geocoding
+  *     documentation</a>
+  */
+ public class GeocodingApi {
+   private GeocodingApi() {}
+ 
+   /**
+    * Creates a new Geocoding API request.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @return Returns the request, ready to run.
+    */
+   public static GeocodingApiRequest newRequest(GeoApiContext context) {
+     return new GeocodingApiRequest(context);
+   }
+ 
+   /**
+    * Requests the latitude and longitude of an {@code address}.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param address The address to geocode.
+    * @return Returns the request, ready to run.
+    */
+   public static GeocodingApiRequest geocode(GeoApiContext context, String address) {
+     GeocodingApiRequest request = new GeocodingApiRequest(context);
+     request.address(address);
+     return request;
+   }
+ 
+   /**
+    * Requests the street address of a {@code location}.
+    *
+    * @param context The {@link GeoApiContext} to make requests through.
+    * @param location The location to reverse geocode.
+    * @return Returns the request, ready to run.
+    */
+   public static GeocodingApiRequest reverseGeocode(GeoApiContext context, LatLng location) {
+     GeocodingApiRequest request = new GeocodingApiRequest(context);
+     request.latlng(location);
+     return request;
+   }
+ 
+   public static class Response implements ApiResponse<GeocodingResult[]> {
+     public String status;
+     public String errorMessage;
+     public GeocodingResult[] results;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public GeocodingResult[] getResult() {
+       return results;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-a.html b/CodeCoverageReport/ns-1/sources/source-a.html new file mode 100644 index 000000000..0eb53ef2c --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-a.html @@ -0,0 +1,270 @@ + + + + + + + + Coverage Report > GeocodingApiRequest + + + + + + +
+ + +

Coverage Summary for Class: GeocodingApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GeocodingApiRequest + + 100% + + + (1/1) + + + + 100% + + + (11/11) + + + + 71.4% + + + (10/14) + + + + 85.7% + + + (18/21) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.model.AddressType;
+ import com.google.maps.model.ComponentFilter;
+ import com.google.maps.model.GeocodingResult;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.LocationType;
+ 
+ /** A request for the Geocoding API. */
+ public class GeocodingApiRequest
+     extends PendingResultBase<GeocodingResult[], GeocodingApiRequest, GeocodingApi.Response> {
+ 
+   private static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/geocode/json");
+ 
+   public GeocodingApiRequest(GeoApiContext context) {
+     super(context, API_CONFIG, GeocodingApi.Response.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     // Must not have both address and latlng.
+     if (params().containsKey("latlng")
+         && params().containsKey("address")
+         && params().containsKey("place_id")) {
+       throw new IllegalArgumentException(
+           "Request must contain only one of 'address', 'latlng' or 'place_id'.");
+     }
+ 
+     // Must contain at least one of place_id, address, latlng, and components;
+     if (!params().containsKey("latlng")
+         && !params().containsKey("address")
+         && !params().containsKey("components")
+         && !params().containsKey("place_id")) {
+       throw new IllegalArgumentException(
+           "Request must contain at least one of 'address', 'latlng', 'place_id' and 'components'.");
+     }
+   }
+ 
+   /**
+    * Creates a forward geocode for {@code address}.
+    *
+    * @param address The address to geocode.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest address(String address) {
+     return param("address", address);
+   }
+ 
+   /**
+    * Creates a forward geocode for {@code placeId}.
+    *
+    * @param placeId The Place ID to geocode.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest place(String placeId) {
+     return param("place_id", placeId);
+   }
+ 
+   /**
+    * Creates a reverse geocode for {@code latlng}.
+    *
+    * @param latlng The location to reverse geocode.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest latlng(LatLng latlng) {
+     return param("latlng", latlng);
+   }
+ 
+   /**
+    * Sets the bounding box of the viewport within which to bias geocode results more prominently.
+    * This parameter will only influence, not fully restrict, results from the geocoder.
+    *
+    * <p>For more information see <a
+    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#Viewports">
+    * Viewport Biasing</a>.
+    *
+    * @param southWestBound The South West bound of the bounding box.
+    * @param northEastBound The North East bound of the bounding box.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest bounds(LatLng southWestBound, LatLng northEastBound) {
+     return param("bounds", join('|', southWestBound, northEastBound));
+   }
+ 
+   /**
+    * Sets the region code, specified as a ccTLD ("top-level domain") two-character value. This
+    * parameter will only influence, not fully restrict, results from the geocoder.
+    *
+    * <p>For more information see <a
+    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#RegionCodes">Region
+    * Biasing</a>.
+    *
+    * @param region The region code to influence results.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest region(String region) {
+     return param("region", region);
+   }
+ 
+   /**
+    * Sets the component filters. Each component filter consists of a component:value pair and will
+    * fully restrict the results from the geocoder.
+    *
+    * <p>For more information see <a
+    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#ComponentFiltering">
+    * Component Filtering</a>.
+    *
+    * @param filters Component filters to apply to the request.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest components(ComponentFilter... filters) {
+     return param("components", join('|', filters));
+   }
+ 
+   /**
+    * Sets the result type. Specifying a type will restrict the results to this type. If multiple
+    * types are specified, the API will return all addresses that match any of the types.
+    *
+    * @param resultTypes The result types to restrict to.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest resultType(AddressType... resultTypes) {
+     return param("result_type", join('|', resultTypes));
+   }
+ 
+   /**
+    * Sets the location type. Specifying a type will restrict the results to this type. If multiple
+    * types are specified, the API will return all addresses that match any of the types.
+    *
+    * @param locationTypes The location types to restrict to.
+    * @return Returns this {@code GeocodingApiRequest} for call chaining.
+    */
+   public GeocodingApiRequest locationType(LocationType... locationTypes) {
+     return param("location_type", join('|', locationTypes));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-b.html b/CodeCoverageReport/ns-1/sources/source-b.html new file mode 100644 index 000000000..e87563a59 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-b.html @@ -0,0 +1,236 @@ + + + + + + + + Coverage Report > GeolocationApi + + + + + + +
+ + +

Coverage Summary for Class: GeolocationApi (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
GeolocationApi + + 75% + + + (3/4) + + + + 87.5% + + + (7/8) + +
GeolocationApi$Response + + 100% + + + (4/4) + + + + 75% + + + (3/4) + + + + 93.8% + + + (15/16) + +
Total + + 87.5% + + + (7/8) + + + + 75% + + + (3/4) + + + + 91.7% + + + (22/24) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.GeolocationPayload;
+ import com.google.maps.model.GeolocationResult;
+ import com.google.maps.model.LatLng;
+ 
+ /*
+  *  The Google Maps Geolocation API returns a location and accuracy radius based on information
+  *  about cell towers and WiFi nodes that the mobile client can detect.
+  *
+  * <p>Please see the<a href="https://developers.google.com/maps/documentation/geolocation/intro#top_of_page">
+  *   Geolocation API</a> for more detail.
+  *
+  *
+  */
+ public class GeolocationApi {
+   private static final String API_BASE_URL = "https://www.googleapis.com";
+ 
+   static final ApiConfig GEOLOCATION_API_CONFIG =
+       new ApiConfig("/geolocation/v1/geolocate")
+           .hostName(API_BASE_URL)
+           .supportsClientId(false)
+           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY)
+           .requestVerb("POST");
+ 
+   private GeolocationApi() {}
+ 
+   public static PendingResult<GeolocationResult> geolocate(
+       GeoApiContext context, GeolocationPayload payload) {
+     return new GeolocationApiRequest(context).Payload(payload).CreatePayload();
+   }
+ 
+   public static GeolocationApiRequest newRequest(GeoApiContext context) {
+     return new GeolocationApiRequest(context);
+   }
+ 
+   public static class Response implements ApiResponse<GeolocationResult> {
+     public int code = 200;
+     public String message = "OK";
+     public double accuracy = -1.0;
+     public LatLng location = null;
+     public String domain = null;
+     public String reason = null;
+     public String debugInfo = null;
+ 
+     @Override
+     public boolean successful() {
+       return code == 200;
+     }
+ 
+     @Override
+     public GeolocationResult getResult() {
+       GeolocationResult result = new GeolocationResult();
+       result.accuracy = accuracy;
+       result.location = location;
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(reason, message);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-c.html b/CodeCoverageReport/ns-1/sources/source-c.html new file mode 100644 index 000000000..a8a5d3b94 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-c.html @@ -0,0 +1,224 @@ + + + + + + + + Coverage Report > GeolocationApiRequest + + + + + + +
+ + +

Coverage Summary for Class: GeolocationApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GeolocationApiRequest + + 100% + + + (1/1) + + + + 92.3% + + + (12/13) + + + + 80% + + + (8/10) + + + + 91.2% + + + (31/34) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.gson.Gson;
+ import com.google.maps.model.CellTower;
+ import com.google.maps.model.GeolocationPayload;
+ import com.google.maps.model.GeolocationPayload.GeolocationPayloadBuilder;
+ import com.google.maps.model.GeolocationResult;
+ import com.google.maps.model.WifiAccessPoint;
+ 
+ /** A request for the Geolocation API. */
+ public class GeolocationApiRequest
+     extends PendingResultBase<GeolocationResult, GeolocationApiRequest, GeolocationApi.Response> {
+ 
+   private GeolocationPayload payload = null;
+   private GeolocationPayloadBuilder builder = null;
+ 
+   GeolocationApiRequest(GeoApiContext context) {
+     super(context, GeolocationApi.GEOLOCATION_API_CONFIG, GeolocationApi.Response.class);
+     builder = new GeolocationPayload.GeolocationPayloadBuilder();
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (this.payload.considerIp != null
+         && !this.payload.considerIp
+         && this.payload.wifiAccessPoints != null
+         && this.payload.wifiAccessPoints.length < 2) {
+       throw new IllegalArgumentException("Request must contain two or more 'Wifi Access Points'");
+     }
+   }
+ 
+   public GeolocationApiRequest HomeMobileCountryCode(int newHomeMobileCountryCode) {
+     this.builder.HomeMobileCountryCode(newHomeMobileCountryCode);
+     return this;
+   }
+ 
+   public GeolocationApiRequest HomeMobileNetworkCode(int newHomeMobileNetworkCode) {
+     this.builder.HomeMobileNetworkCode(newHomeMobileNetworkCode);
+     return this;
+   }
+ 
+   public GeolocationApiRequest RadioType(String newRadioType) {
+     this.builder.RadioType(newRadioType);
+     return this;
+   }
+ 
+   public GeolocationApiRequest Carrier(String newCarrier) {
+     this.builder.Carrier(newCarrier);
+     return this;
+   }
+ 
+   public GeolocationApiRequest ConsiderIp(boolean newConsiderIp) {
+     this.builder.ConsiderIp(newConsiderIp);
+     return this;
+   }
+ 
+   public GeolocationApiRequest CellTowers(CellTower[] newCellTowers) {
+     this.builder.CellTowers(newCellTowers);
+     return this;
+   }
+ 
+   public GeolocationApiRequest AddCellTower(CellTower newCellTower) {
+     this.builder.AddCellTower(newCellTower);
+     return this;
+   }
+ 
+   public GeolocationApiRequest WifiAccessPoints(WifiAccessPoint[] newWifiAccessPoints) {
+     this.builder.WifiAccessPoints(newWifiAccessPoints);
+     return this;
+   }
+ 
+   public GeolocationApiRequest AddWifiAccessPoint(WifiAccessPoint newWifiAccessPoint) {
+     this.builder.AddWifiAccessPoint(newWifiAccessPoint);
+     return this;
+   }
+ 
+   public GeolocationApiRequest Payload(GeolocationPayload payload) {
+     this.payload = payload;
+     return this;
+   }
+ 
+   public GeolocationApiRequest CreatePayload() {
+     if (this.payload == null) {
+       // if the payload has not been set, create it
+       this.payload = this.builder.createGeolocationPayload();
+     } else {
+       // use the payload that has been explicitly set by the Payload method above
+     }
+     Gson gson = new Gson();
+     String jsonPayload = gson.toJson(this.payload);
+     return param("_payload", jsonPayload);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-d.html b/CodeCoverageReport/ns-1/sources/source-d.html new file mode 100644 index 000000000..53b337447 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-d.html @@ -0,0 +1,188 @@ + + + + + + + + Coverage Report > ImageResult + + + + + + +
+ + +

Coverage Summary for Class: ImageResult (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Line, % +
ImageResult + + 100% + + + (1/1) + + + + 100% + + + (4/4) + +
ImageResult$Response + + 0% + + + (0/4) + + + + 0% + + + (0/4) + +
Total + + 20% + + + (1/5) + + + + 50% + + + (4/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiResponse;
+ import java.io.Serializable;
+ 
+ /** {@code ImageResult} is the object returned from API end points that return images. */
+ public class ImageResult implements Serializable {
+ 
+   public ImageResult(String contentType, byte[] imageData) {
+     this.imageData = imageData;
+     this.contentType = contentType;
+   }
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The image data from the Photos API call. */
+   public final byte[] imageData;
+ 
+   /** The Content-Type header of the returned result. */
+   public final String contentType;
+ 
+   /**
+    * <code>ImageResult.Response</code> is a type system hack to enable API endpoints to return a
+    * <code>ImageResult</code>.
+    */
+   public static class Response implements ApiResponse<ImageResult> {
+     @Override
+     public boolean successful() {
+       return true;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       return null;
+     }
+ 
+     @Override
+     public ImageResult getResult() {
+       return null;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-e.html b/CodeCoverageReport/ns-1/sources/source-e.html new file mode 100644 index 000000000..ae73c071d --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-e.html @@ -0,0 +1,388 @@ + + + + + + + + Coverage Report > NearbySearchRequest + + + + + + +
+ + +

Coverage Summary for Class: NearbySearchRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
NearbySearchRequest + + 100% + + + (14/14) + + + + 70% + + + (14/20) + + + + 96.7% + + + (29/30) + +
NearbySearchRequest$Response + + 75% + + + (3/4) + + + + 16.7% + + + (1/6) + + + + 70% + + + (7/10) + +
Total + + 94.4% + + + (17/18) + + + + 57.7% + + + (15/26) + + + + 90% + + + (36/40) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.ApiResponse;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.PlaceType;
+ import com.google.maps.model.PlacesSearchResponse;
+ import com.google.maps.model.PlacesSearchResult;
+ import com.google.maps.model.PriceLevel;
+ import com.google.maps.model.RankBy;
+ 
+ /**
+  * A <a href="https://developers.google.com/places/web-service/search#PlaceSearchRequests">Nearby
+  * Search</a> request.
+  */
+ public class NearbySearchRequest
+     extends PendingResultBase<
+         PlacesSearchResponse, NearbySearchRequest, NearbySearchRequest.Response> {
+ 
+   static final ApiConfig API_CONFIG =
+       new ApiConfig("/maps/api/place/nearbysearch/json")
+           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
+ 
+   /**
+    * Constructs a new {@code NearbySearchRequest}.
+    *
+    * @param context The {@code GeoApiContext} to make requests through.
+    */
+   public NearbySearchRequest(GeoApiContext context) {
+     super(context, API_CONFIG, Response.class);
+   }
+ 
+   /**
+    * Specifies the latitude/longitude around which to retrieve place information.
+    *
+    * @param location The location to use as the center of the Nearby Search.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest location(LatLng location) {
+     return param("location", location);
+   }
+ 
+   /**
+    * Specifies the distance (in meters) within which to return place results. The maximum allowed
+    * radius is 50,000 meters. Note that radius must not be included if {@code rankby=DISTANCE} is
+    * specified.
+    *
+    * @param distance The distance in meters around the {@link #location(LatLng)} to search.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest radius(int distance) {
+     if (distance > 50000) {
+       throw new IllegalArgumentException("The maximum allowed radius is 50,000 meters.");
+     }
+     return param("radius", String.valueOf(distance));
+   }
+ 
+   /**
+    * Specifies the order in which results are listed.
+    *
+    * @param ranking The rank by method.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest rankby(RankBy ranking) {
+     return param("rankby", ranking);
+   }
+ 
+   /**
+    * Specifies a term to be matched against all content that Google has indexed for this place. This
+    * includes but is not limited to name, type, and address, as well as customer reviews and other
+    * third-party content.
+    *
+    * @param keyword The keyword to search for.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest keyword(String keyword) {
+     return param("keyword", keyword);
+   }
+ 
+   /**
+    * Restricts to places that are at least this price level.
+    *
+    * @param priceLevel The price level to set as minimum.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest minPrice(PriceLevel priceLevel) {
+     return param("minprice", priceLevel);
+   }
+ 
+   /**
+    * Restricts to places that are at most this price level.
+    *
+    * @param priceLevel The price level to set as maximum.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest maxPrice(PriceLevel priceLevel) {
+     return param("maxprice", priceLevel);
+   }
+ 
+   /**
+    * Specifies one or more terms to be matched against the names of places, separated by spaces.
+    *
+    * @param name Search for Places with this name.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest name(String name) {
+     return param("name", name);
+   }
+ 
+   /**
+    * Restricts to only those places that are open for business at the time the query is sent.
+    *
+    * @param openNow Whether to restrict to places that are open.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest openNow(boolean openNow) {
+     return param("opennow", String.valueOf(openNow));
+   }
+ 
+   /**
+    * Returns the next 20 results from a previously run search. Setting {@code pageToken} will
+    * execute a search with the same parameters used previously  all parameters other than {@code
+    * pageToken} will be ignored.
+    *
+    * @param nextPageToken The page token from a previous result.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest pageToken(String nextPageToken) {
+     return param("pagetoken", nextPageToken);
+   }
+ 
+   /**
+    * Restricts the results to places matching the specified type.
+    *
+    * @param type The {@link PlaceType} to restrict results to.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   public NearbySearchRequest type(PlaceType type) {
+     return param("type", type);
+   }
+ 
+   /**
+    * Restricts the results to places matching the specified type. Provides support for multiple
+    * types.
+    *
+    * @deprecated Multiple search types are ignored by the Places API.
+    * @param types The {@link PlaceType}s to restrict results to.
+    * @return Returns this {@code NearbyApiRequest} for call chaining.
+    */
+   @Deprecated
+   public NearbySearchRequest type(PlaceType... types) {
+     return param("type", join('|', types));
+   }
+ 
+   @Override
+   protected void validateRequest() {
+ 
+     // If pagetoken is included, all other parameters are ignored.
+     if (params().containsKey("pagetoken")) {
+       return;
+     }
+ 
+     // radius must not be included if rankby=distance
+     if (params().containsKey("rankby")
+         && params().get("rankby").get(0).equals(RankBy.DISTANCE.toString())
+         && params().containsKey("radius")) {
+       throw new IllegalArgumentException("Request must not contain radius with rankby=distance");
+     }
+ 
+     // If rankby=distance is specified, then one or more of keyword, name, or type is required.
+     if (params().containsKey("rankby")
+         && params().get("rankby").get(0).equals(RankBy.DISTANCE.toString())
+         && !params().containsKey("keyword")
+         && !params().containsKey("name")
+         && !params().containsKey("type")) {
+       throw new IllegalArgumentException(
+           "With rankby=distance is specified, then one or more of keyword, name, or type is required");
+     }
+   }
+ 
+   public static class Response implements ApiResponse<PlacesSearchResponse> {
+ 
+     public String status;
+     public String htmlAttributions[];
+     public PlacesSearchResult results[];
+     public String nextPageToken;
+     public String errorMessage;
+ 
+     @Override
+     public boolean successful() {
+       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
+     }
+ 
+     @Override
+     public PlacesSearchResponse getResult() {
+       PlacesSearchResponse result = new PlacesSearchResponse();
+       result.htmlAttributions = htmlAttributions;
+       result.results = results;
+       result.nextPageToken = nextPageToken;
+       return result;
+     }
+ 
+     @Override
+     public ApiException getError() {
+       if (successful()) {
+         return null;
+       }
+       return ApiException.from(status, errorMessage);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-1/sources/source-f.html b/CodeCoverageReport/ns-1/sources/source-f.html new file mode 100644 index 000000000..cdafd0d11 --- /dev/null +++ b/CodeCoverageReport/ns-1/sources/source-f.html @@ -0,0 +1,156 @@ + + + + + + + + Coverage Report > NearestRoadsApiRequest + + + + + + +
+ + +

Coverage Summary for Class: NearestRoadsApiRequest (com.google.maps)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
NearestRoadsApiRequest + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 90% + + + (9/10) + +
+ +
+
+ + +
+ package com.google.maps;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.maps.RoadsApi.RoadsResponse;
+ import com.google.maps.internal.ApiConfig;
+ import com.google.maps.internal.StringJoin;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.SnappedPoint;
+ 
+ /** A request to the snap to roads API (part of Roads API). */
+ public class NearestRoadsApiRequest
+     extends PendingResultBase<SnappedPoint[], NearestRoadsApiRequest, RoadsResponse> {
+ 
+   private static final ApiConfig NEAREST_ROADS_API_CONFIG =
+       new ApiConfig("/v1/nearestRoads")
+           .hostName(RoadsApi.API_BASE_URL)
+           .supportsClientId(false)
+           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
+ 
+   public NearestRoadsApiRequest(GeoApiContext context) {
+     super(context, NEAREST_ROADS_API_CONFIG, RoadsResponse.class);
+   }
+ 
+   @Override
+   protected void validateRequest() {
+     if (!params().containsKey("points")) {
+       throw new IllegalArgumentException("Request must contain 'path");
+     }
+   }
+ 
+   /**
+    * The points from which to snap to roads.
+    *
+    * @param points the point to be snapped
+    * @return returns this {@link NearestRoadsApiRequest} for call chaining.
+    */
+   public NearestRoadsApiRequest points(LatLng... points) {
+     return param("points", StringJoin.join('|', points));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index.html b/CodeCoverageReport/ns-2/index.html new file mode 100644 index 000000000..db97cf7e2 --- /dev/null +++ b/CodeCoverageReport/ns-2/index.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..2d209d454 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..dab057c29 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..03942b6a7 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..4a65e34c6 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html new file mode 100644 index 000000000..060b37bc7 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..1d834fcb4 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..ef8399bdc --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..8e0ae65ca --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..ab1fd4353 --- /dev/null +++ b/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.android + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.android

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.android + + 71.4% + + + (5/7) + + + + 44.4% + + + (8/18) + + + + 34.6% + + + (9/26) + + + + 32.7% + + + (32/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/10) + +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-1.html b/CodeCoverageReport/ns-2/sources/source-1.html new file mode 100644 index 000000000..d097657be --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-1.html @@ -0,0 +1,128 @@ + + + + + + + + Coverage Report > AndroidAuthenticationConfig + + + + + + +
+ + +

Coverage Summary for Class: AndroidAuthenticationConfig (com.google.maps.android)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
AndroidAuthenticationConfig + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (5/5) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import org.jetbrains.annotations.Nullable;
+ 
+ /**
+  * Configuration object containing Android authentication parameters for a particular installation.
+  * The parameters in this config are used by all requests so that API key restrictions can be
+  * enforced.
+  */
+ public class AndroidAuthenticationConfig {
+   public static AndroidAuthenticationConfig EMPTY = new AndroidAuthenticationConfig(null, null);
+ 
+   /** The package name of the Android app. */
+   @Nullable public final String packageName;
+ 
+   /** The SHA-1 fingerprint of the certificate used to sign the Android app. */
+   @Nullable public final String certFingerprint;
+ 
+   public AndroidAuthenticationConfig(
+       @Nullable String packageName, @Nullable String certFingerprint) {
+     this.packageName = packageName;
+     this.certFingerprint = certFingerprint;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-2.html b/CodeCoverageReport/ns-2/sources/source-2.html new file mode 100644 index 000000000..2d9fd09b0 --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-2.html @@ -0,0 +1,135 @@ + + + + + + + + Coverage Report > AndroidAuthenticationConfigProvider + + + + + + +
+ + +

Coverage Summary for Class: AndroidAuthenticationConfigProvider (com.google.maps.android)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationConfigProvider + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ /**
+  * Provides a {@link AndroidAuthenticationConfig} that is specific to the environment the library is
+  * in.
+  */
+ public class AndroidAuthenticationConfigProvider {
+ 
+   /** @return the environment specific {@link AndroidAuthenticationConfig} */
+   public AndroidAuthenticationConfig provide() {
+     Context context = Context.getApplicationContext();
+     if (context == null) {
+       return AndroidAuthenticationConfig.EMPTY;
+     }
+ 
+     return new AndroidAuthenticationConfig(
+         context.getPackageName(), CertificateHelper.getSigningCertificateSha1Fingerprint(context));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-3.html b/CodeCoverageReport/ns-2/sources/source-3.html new file mode 100644 index 000000000..4a5ec9048 --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-3.html @@ -0,0 +1,159 @@ + + + + + + + + Coverage Report > AndroidAuthenticationInterceptor + + + + + + +
+ + +

Coverage Summary for Class: AndroidAuthenticationInterceptor (com.google.maps.android)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
AndroidAuthenticationInterceptor + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 91.7% + + + (11/12) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import com.google.maps.internal.HttpHeaders;
+ import java.io.IOException;
+ import okhttp3.Interceptor;
+ import okhttp3.Request;
+ import okhttp3.Response;
+ import org.jetbrains.annotations.NotNull;
+ 
+ /**
+  * Intercepts requests and provides Android-specific headers so that API key restrictions can be
+  * enforced.
+  */
+ public class AndroidAuthenticationInterceptor implements Interceptor {
+ 
+   private final AndroidAuthenticationConfig config;
+ 
+   public AndroidAuthenticationInterceptor(AndroidAuthenticationConfig config) {
+     this.config = config;
+   }
+ 
+   @NotNull
+   @Override
+   public Response intercept(@NotNull Chain chain) throws IOException {
+     final Request request = chain.request();
+ 
+     if (config == AndroidAuthenticationConfig.EMPTY) {
+       // Not in Android environment
+       return chain.proceed(request);
+     }
+ 
+     final Request.Builder builder = chain.request().newBuilder();
+     if (config.packageName != null) {
+       builder.addHeader(HttpHeaders.X_ANDROID_PACKAGE, config.packageName);
+     }
+ 
+     if (config.certFingerprint != null) {
+       builder.addHeader(HttpHeaders.X_ANDROID_CERT, config.certFingerprint);
+     }
+ 
+     return chain.proceed(builder.build());
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-4.html b/CodeCoverageReport/ns-2/sources/source-4.html new file mode 100644 index 000000000..6227b58e6 --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-4.html @@ -0,0 +1,176 @@ + + + + + + + + Coverage Report > CertificateHelper + + + + + + +
+ + +

Coverage Summary for Class: CertificateHelper (com.google.maps.android)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
CertificateHelper + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 37.5% + + + (3/8) + + + + 31.8% + + + (7/22) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.security.MessageDigest;
+ import java.security.NoSuchAlgorithmException;
+ import org.jetbrains.annotations.NotNull;
+ import org.jetbrains.annotations.Nullable;
+ 
+ /** Helper class for obtaining information about an Android app's signing certificate. */
+ public class CertificateHelper {
+ 
+   /**
+    * Obtains the SHA-1 fingerprint of the certificate used to sign the app.
+    *
+    * @param context a Context
+    * @return the SHA-1 fingerprint if obtainable, otherwise, <code>null</code>
+    */
+   @Nullable
+   public static String getSigningCertificateSha1Fingerprint(@NotNull Context context) {
+     final PackageManager pm = context.getPackageManager();
+     if (pm == null) {
+       return null;
+     }
+ 
+     // PackageManage.GET_SIGNATURES == 64
+     PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 64);
+     if (packageInfo == null) {
+       return null;
+     }
+ 
+     Object signingSignature = packageInfo.signingSignature();
+     if (signingSignature == null) {
+       return null;
+     }
+ 
+     try {
+       MessageDigest md = MessageDigest.getInstance("SHA-1");
+       Class<?> signatureClass = Class.forName("android.content.pm.Signature");
+       Method toByteArrayMethod = signatureClass.getMethod("toByteArray");
+       byte[] byteArray = (byte[]) toByteArrayMethod.invoke(signingSignature);
+       byte[] digest = md.digest(byteArray);
+       return bytesToHex(digest);
+     } catch (NoSuchAlgorithmException
+         | ClassNotFoundException
+         | IllegalAccessException
+         | NoSuchMethodException
+         | InvocationTargetException e) {
+       return null;
+     }
+   }
+ 
+   private static String bytesToHex(byte[] byteArray) {
+     final StringBuilder sb = new StringBuilder();
+     for (byte b : byteArray) {
+       sb.append(String.format("%02X", b));
+     }
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-5.html b/CodeCoverageReport/ns-2/sources/source-5.html new file mode 100644 index 000000000..0b5080429 --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-5.html @@ -0,0 +1,209 @@ + + + + + + + + Coverage Report > Context + + + + + + +
+ + +

Coverage Summary for Class: Context (com.google.maps.android)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
Context + + 100% + + + (1/1) + + + + 20% + + + (1/5) + + + + 0% + + + (0/4) + + + + 9.7% + + + (3/31) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import org.jetbrains.annotations.NotNull;
+ import org.jetbrains.annotations.Nullable;
+ 
+ /** Wrapper for the Android class android.content.Context. */
+ public class Context {
+   private Class<?> contextClass;
+   private Object contextInstance;
+   private PackageManager packageManager;
+ 
+   Context(@NotNull Class<?> contextClass) {
+     this.contextClass = contextClass;
+   }
+ 
+   /**
+    * Performs reflection to see if the android.content.Context class is available at runtime. If so,
+    * this method will return an instance of this class.
+    *
+    * @return an instance of this class if invoked within an Android environment, otherwise, null
+    */
+   @Nullable
+   public static Context getApplicationContext() {
+     try {
+       Class<?> contextClass = Class.forName("android.content.Context");
+       return new Context(contextClass);
+     } catch (ClassNotFoundException e) {
+       // Not Android
+       return null;
+     }
+   }
+ 
+   /** @return the package name of the Android app if available, otherwise, null */
+   @Nullable
+   public String getPackageName() {
+     try {
+       final Method method = contextClass.getMethod("getPackageName");
+       return (String) method.invoke(getContextInstance());
+     } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
+       e.printStackTrace();
+       return null;
+     }
+   }
+ 
+   /**
+    * Similar to <a
+    * href="https://developer.android.com/reference/android/content/Context#getPackageManager()">Context#getPackageManager</a>
+    * but performed through reflection.
+    *
+    * @return the {@link PackageManager}
+    */
+   @Nullable
+   public PackageManager getPackageManager() {
+     if (packageManager != null) {
+       return packageManager;
+     }
+ 
+     try {
+       Class<?> pmClass = Class.forName("android.content.pm.PackageManager");
+       final Method method = contextClass.getMethod("getPackageManager");
+       final Object pm = method.invoke(getContextInstance());
+       packageManager = new PackageManager(pmClass, pm);
+     } catch (InvocationTargetException
+         | IllegalAccessException
+         | ClassNotFoundException
+         | NoSuchMethodException e) {
+       // Not Android
+       e.printStackTrace();
+     }
+     return packageManager;
+   }
+ 
+   @Nullable
+   private Object getContextInstance() {
+     if (contextInstance != null) {
+       return contextInstance;
+     }
+ 
+     try {
+       final Class<?> activityThreadClass = Class.forName("android.app.ActivityThread");
+       final Method method = activityThreadClass.getMethod("currentApplication");
+       contextInstance = method.invoke(null);
+     } catch (ClassNotFoundException
+         | NoSuchMethodException
+         | InvocationTargetException
+         | IllegalAccessException e) {
+       e.printStackTrace();
+     }
+     return contextInstance;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-6.html b/CodeCoverageReport/ns-2/sources/source-6.html new file mode 100644 index 000000000..663548aab --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-6.html @@ -0,0 +1,147 @@ + + + + + + + + Coverage Report > PackageInfo + + + + + + +
+ + +

Coverage Summary for Class: PackageInfo (com.google.maps.android)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PackageInfo + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/12) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import java.lang.reflect.Field;
+ import org.jetbrains.annotations.Nullable;
+ 
+ /** Wrapper for the Android class android.content.pm.PackageInfo */
+ public class PackageInfo {
+   private Class<?> piClass;
+   private Object piInstance;
+ 
+   public PackageInfo(Class<?> piClass, Object piInstance) {
+     this.piClass = piClass;
+     this.piInstance = piInstance;
+   }
+ 
+   /** @return the signing signature for the app */
+   @Nullable
+   public Object signingSignature() {
+     try {
+       Field signaturesField = piClass.getField("signatures");
+       Object[] signatures = (Object[]) signaturesField.get(piInstance);
+       if (signatures == null || signatures.length == 0 || signatures[0] == null) {
+         return null;
+       }
+       return signatures[0];
+     } catch (NoSuchFieldException | IllegalAccessException e) {
+       e.printStackTrace();
+     }
+     return null;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-2/sources/source-7.html b/CodeCoverageReport/ns-2/sources/source-7.html new file mode 100644 index 000000000..19b95972d --- /dev/null +++ b/CodeCoverageReport/ns-2/sources/source-7.html @@ -0,0 +1,145 @@ + + + + + + + + Coverage Report > PackageManager + + + + + + +
+ + +

Coverage Summary for Class: PackageManager (com.google.maps.android)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
PackageManager + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/10) + +
+ +
+
+ + +
+ package com.google.maps.android;
+ 
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import org.jetbrains.annotations.NotNull;
+ import org.jetbrains.annotations.Nullable;
+ 
+ /** Wrapper for the Android class android.content.pm.PackageManager. */
+ public class PackageManager {
+   private Class<?> pmClass;
+   private Object pmInstance;
+ 
+   public PackageManager(@NotNull Class<?> pmClass, @NotNull Object pm) {
+     this.pmClass = pmClass;
+     this.pmInstance = pm;
+   }
+ 
+   /**
+    * Similar to <a
+    * href="https://developer.android.com/reference/android/content/pm/PackageManager#getPackageInfo(java.lang.String,%20int)">PackageInfo#getPackageInfo</a>
+    * but performed through reflection.
+    *
+    * @param packageName the package name
+    * @param flags additional flags
+    * @return the PackageInfo for the requested package name if found, otherwise, null
+    */
+   @Nullable
+   public PackageInfo getPackageInfo(String packageName, int flags) {
+     try {
+       final Class<?> piClass = Class.forName("android.content.pm.PackageInfo");
+       final Method method = pmClass.getMethod("getPackageInfo", String.class, int.class);
+       return new PackageInfo(piClass, method.invoke(pmInstance, packageName, flags));
+     } catch (NoSuchMethodException
+         | IllegalAccessException
+         | InvocationTargetException
+         | ClassNotFoundException e) {
+       e.printStackTrace();
+     }
+     return null;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index.html b/CodeCoverageReport/ns-3/index.html new file mode 100644 index 000000000..8454125af --- /dev/null +++ b/CodeCoverageReport/ns-3/index.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..297f51f41 --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..35c9e34c8 --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..a92538ea1 --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..a4babb8ed --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html new file mode 100644 index 000000000..f217d2d82 --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..45921c3c3 --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..f5cf672fc --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..c2cb492cb --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..e94c9121c --- /dev/null +++ b/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,503 @@ + + + + + + Coverage Report > com.google.maps.errors + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.errors

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.errors + + 53.8% + + + (7/13) + + + + 57.1% + + + (8/14) + + + + 66.7% + + + (28/42) + + + + 63.8% + + + (44/69) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (2/2) + +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/2) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-1.html b/CodeCoverageReport/ns-3/sources/source-1.html new file mode 100644 index 000000000..dd988a8ee --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-1.html @@ -0,0 +1,133 @@ + + + + + + + + Coverage Report > AccessNotConfiguredException + + + + + + +
+ + +

Coverage Summary for Class: AccessNotConfiguredException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
AccessNotConfiguredException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that the API call was not configured for the supplied credentials and environmental
+  * conditions. Check the error message for details.
+  */
+ public class AccessNotConfiguredException extends ApiException {
+ 
+   private static final long serialVersionUID = -9167434506751721386L;
+ 
+   public AccessNotConfiguredException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-2.html b/CodeCoverageReport/ns-3/sources/source-2.html new file mode 100644 index 000000000..733f29ffc --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-2.html @@ -0,0 +1,127 @@ + + + + + + + + Coverage Report > ApiError + + + + + + +
+ + +

Coverage Summary for Class: ApiError (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
ApiError + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/1) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /** An error returned by the API, including some extra information for aiding in debugging. */
+ public class ApiError {
+   public int code;
+   public String message;
+   public String status;
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-3.html b/CodeCoverageReport/ns-3/sources/source-3.html new file mode 100644 index 000000000..e9e32a259 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-3.html @@ -0,0 +1,212 @@ + + + + + + + + Coverage Report > ApiException + + + + + + +
+ + +

Coverage Summary for Class: ApiException (com.google.maps.errors)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
ApiException + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (28/42) + + + + 69.6% + + + (32/46) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * ApiException and its descendants represent an error returned by the remote API. API errors are
+  * determined by the {@code status} field returned in any of the Geo API responses.
+  */
+ public class ApiException extends Exception {
+   private static final long serialVersionUID = -6550606366694345191L;
+ 
+   protected ApiException(String message) {
+     super(message);
+   }
+ 
+   /**
+    * Construct the appropriate ApiException from the response. If the response was successful, this
+    * method will return null.
+    *
+    * @param status The status field returned from the API
+    * @param errorMessage The error message returned from the API
+    * @return The appropriate ApiException based on the status or null if no error occurred.
+    */
+   public static ApiException from(String status, String errorMessage) {
+     // Classic Geo API error formats
+     if ("OK".equals(status)) {
+       return null;
+     } else if ("INVALID_REQUEST".equals(status)) {
+       return new InvalidRequestException(errorMessage);
+     } else if ("MAX_ELEMENTS_EXCEEDED".equals(status)) {
+       return new MaxElementsExceededException(errorMessage);
+     } else if ("MAX_ROUTE_LENGTH_EXCEEDED".equals(status)) {
+       return new MaxRouteLengthExceededException(errorMessage);
+     } else if ("MAX_WAYPOINTS_EXCEEDED".equals(status)) {
+       return new MaxWaypointsExceededException(errorMessage);
+     } else if ("NOT_FOUND".equals(status)) {
+       return new NotFoundException(errorMessage);
+     } else if ("OVER_QUERY_LIMIT".equals(status)) {
+       if ("You have exceeded your daily request quota for this API. If you did not set a custom daily request quota, verify your project has an active billing account: http://g.co/dev/maps-no-account"
+           .equalsIgnoreCase(errorMessage)) {
+         return new OverDailyLimitException(errorMessage);
+       }
+       return new OverQueryLimitException(errorMessage);
+     } else if ("REQUEST_DENIED".equals(status)) {
+       return new RequestDeniedException(errorMessage);
+     } else if ("UNKNOWN_ERROR".equals(status)) {
+       return new UnknownErrorException(errorMessage);
+     } else if ("ZERO_RESULTS".equals(status)) {
+       return new ZeroResultsException(errorMessage);
+     }
+ 
+     // New-style Geo API error formats
+     if ("ACCESS_NOT_CONFIGURED".equals(status)) {
+       return new AccessNotConfiguredException(errorMessage);
+     } else if ("INVALID_ARGUMENT".equals(status)) {
+       return new InvalidRequestException(errorMessage);
+     } else if ("RESOURCE_EXHAUSTED".equals(status)) {
+       return new OverQueryLimitException(errorMessage);
+     } else if ("PERMISSION_DENIED".equals(status)) {
+       return new RequestDeniedException(errorMessage);
+     }
+ 
+     // Geolocation Errors
+     if ("keyInvalid".equals(status)) {
+       return new AccessNotConfiguredException(errorMessage);
+     } else if ("dailyLimitExceeded".equals(status)) {
+       return new OverDailyLimitException(errorMessage);
+     } else if ("userRateLimitExceeded".equals(status)) {
+       return new OverQueryLimitException(errorMessage);
+     } else if ("notFound".equals(status)) {
+       return new NotFoundException(errorMessage);
+     } else if ("parseError".equals(status)) {
+       return new InvalidRequestException(errorMessage);
+     } else if ("invalid".equals(status)) {
+       return new InvalidRequestException(errorMessage);
+     }
+ 
+     // We've hit an unknown error. This is not a state we should hit,
+     // but we don't want to crash a user's application if we introduce a new error.
+     return new UnknownErrorException(
+         "An unexpected error occurred. Status: " + status + ", Message: " + errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-4.html b/CodeCoverageReport/ns-3/sources/source-4.html new file mode 100644 index 000000000..1139ac534 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-4.html @@ -0,0 +1,130 @@ + + + + + + + + Coverage Report > InvalidRequestException + + + + + + +
+ + +

Coverage Summary for Class: InvalidRequestException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
InvalidRequestException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /** Indicates that the API received a malformed request. */
+ public class InvalidRequestException extends ApiException {
+ 
+   private static final long serialVersionUID = -5682669561780594333L;
+ 
+   public InvalidRequestException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-5.html b/CodeCoverageReport/ns-3/sources/source-5.html new file mode 100644 index 000000000..6ba376727 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-5.html @@ -0,0 +1,135 @@ + + + + + + + + Coverage Report > MaxElementsExceededException + + + + + + +
+ + +

Coverage Summary for Class: MaxElementsExceededException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
MaxElementsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that the product of origins and destinations exceeds the per-query limit.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/distance-matrix/usage-limits">
+  *     Limits</a>
+  */
+ public class MaxElementsExceededException extends ApiException {
+ 
+   private static final long serialVersionUID = 5926526363472768479L;
+ 
+   public MaxElementsExceededException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-6.html b/CodeCoverageReport/ns-3/sources/source-6.html new file mode 100644 index 000000000..8543ac65a --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-6.html @@ -0,0 +1,138 @@ + + + + + + + + Coverage Report > MaxRouteLengthExceededException + + + + + + +
+ + +

Coverage Summary for Class: MaxRouteLengthExceededException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
MaxRouteLengthExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that the requested route is too long and cannot be processed.
+  *
+  * <p>This error occurs when more complex directions are returned. Try reducing the number of
+  * waypoints, turns, or instructions.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
+  *     Status Codes</a>
+  */
+ public class MaxRouteLengthExceededException extends ApiException {
+ 
+   private static final long serialVersionUID = 5926526363472768479L;
+ 
+   public MaxRouteLengthExceededException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-7.html b/CodeCoverageReport/ns-3/sources/source-7.html new file mode 100644 index 000000000..9236ba83c --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-7.html @@ -0,0 +1,134 @@ + + + + + + + + Coverage Report > MaxWaypointsExceededException + + + + + + +
+ + +

Coverage Summary for Class: MaxWaypointsExceededException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
MaxWaypointsExceededException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2019 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that too many waypoints were provided in the request.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
+  *     Status Codes</a>
+  */
+ public class MaxWaypointsExceededException extends ApiException {
+   private static final long serialVersionUID = 1L;
+ 
+   public MaxWaypointsExceededException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-8.html b/CodeCoverageReport/ns-3/sources/source-8.html new file mode 100644 index 000000000..ead1a19d6 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-8.html @@ -0,0 +1,133 @@ + + + + + + + + Coverage Report > NotFoundException + + + + + + +
+ + +

Coverage Summary for Class: NotFoundException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
NotFoundException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates at least one of the locations specified in the request's origin, destination, or
+  * waypoints could not be geocoded.
+  */
+ public class NotFoundException extends ApiException {
+ 
+   private static final long serialVersionUID = -5447625132975504651L;
+ 
+   public NotFoundException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-9.html b/CodeCoverageReport/ns-3/sources/source-9.html new file mode 100644 index 000000000..2d3230692 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-9.html @@ -0,0 +1,130 @@ + + + + + + + + Coverage Report > OverDailyLimitException + + + + + + +
+ + +

Coverage Summary for Class: OverDailyLimitException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
OverDailyLimitException + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /** Indicates that the requesting account has exceeded its daily quota. */
+ public class OverDailyLimitException extends ApiException {
+ 
+   private static final long serialVersionUID = 9172790459877314621L;
+ 
+   public OverDailyLimitException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-a.html b/CodeCoverageReport/ns-3/sources/source-a.html new file mode 100644 index 000000000..121614435 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-a.html @@ -0,0 +1,130 @@ + + + + + + + + Coverage Report > OverQueryLimitException + + + + + + +
+ + +

Coverage Summary for Class: OverQueryLimitException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
OverQueryLimitException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /** Indicates that the requesting account has exceeded its short-term quota. */
+ public class OverQueryLimitException extends ApiException {
+ 
+   private static final long serialVersionUID = -6888513535435397042L;
+ 
+   public OverQueryLimitException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-b.html b/CodeCoverageReport/ns-3/sources/source-b.html new file mode 100644 index 000000000..590d47e7a --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-b.html @@ -0,0 +1,129 @@ + + + + + + + + Coverage Report > RequestDeniedException + + + + + + +
+ + +

Coverage Summary for Class: RequestDeniedException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
RequestDeniedException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /** Indicates that the API denied the request. Check the message for more detail. */
+ public class RequestDeniedException extends ApiException {
+   private static final long serialVersionUID = -1434641617962369958L;
+ 
+   public RequestDeniedException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-c.html b/CodeCoverageReport/ns-3/sources/source-c.html new file mode 100644 index 000000000..92eac4773 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-c.html @@ -0,0 +1,132 @@ + + + + + + + + Coverage Report > UnknownErrorException + + + + + + +
+ + +

Coverage Summary for Class: UnknownErrorException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
UnknownErrorException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that the server encountered an unknown error. In some cases these are safe to retry.
+  */
+ public class UnknownErrorException extends ApiException {
+ 
+   private static final long serialVersionUID = -4588344280364816431L;
+ 
+   public UnknownErrorException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-3/sources/source-d.html b/CodeCoverageReport/ns-3/sources/source-d.html new file mode 100644 index 000000000..b0156d8b8 --- /dev/null +++ b/CodeCoverageReport/ns-3/sources/source-d.html @@ -0,0 +1,136 @@ + + + + + + + + Coverage Report > ZeroResultsException + + + + + + +
+ + +

Coverage Summary for Class: ZeroResultsException (com.google.maps.errors)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
ZeroResultsException + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.errors;
+ 
+ /**
+  * Indicates that no results were returned.
+  *
+  * <p>In some cases, this will be treated as a success state and you will only see an empty array.
+  * For time zone data, it means that no time zone information could be found for the specified
+  * position or time. Confirm that the request is for a location on land, and not over water.
+  */
+ public class ZeroResultsException extends ApiException {
+ 
+   private static final long serialVersionUID = -9096790004183184907L;
+ 
+   public ZeroResultsException(String errorMessage) {
+     super(errorMessage);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index.html b/CodeCoverageReport/ns-4/index.html new file mode 100644 index 000000000..adad73c8d --- /dev/null +++ b/CodeCoverageReport/ns-4/index.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..ae624e850 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..d3e7da8e9 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..5c1deed9d --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..089e249e1 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html new file mode 100644 index 000000000..1d0658c5e --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..cb2b5be82 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..517280fde --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..81878a1f1 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..c513b6c59 --- /dev/null +++ b/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,846 @@ + + + + + + Coverage Report > com.google.maps.internal + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal + + 84.6% + + + (22/26) + + + + 57.5% + + + (65/113) + + + + 56.4% + + + (132/234) + + + + 63.6% + + + (371/583) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
StringJoin + + 100% + + + (1/1) + + + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
RateLimitExecutorService + + 75% + + + (3/4) + + + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
OkHttpPendingResult + + 100% + + + (3/3) + + + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + + 0% + + + (0/1) + +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/3) + +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + + 100% + + + (15/15) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-1.html b/CodeCoverageReport/ns-4/sources/source-1.html new file mode 100644 index 000000000..5150109f6 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-1.html @@ -0,0 +1,155 @@ + + + + + + + + Coverage Report > ApiConfig + + + + + + +
+ + +

Coverage Summary for Class: ApiConfig (com.google.maps.internal)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
ApiConfig + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (15/15) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ 
+ /** API configuration builder. Defines fields that are variable per-API. */
+ public class ApiConfig {
+   public String path;
+   public FieldNamingPolicy fieldNamingPolicy = FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
+   public String hostName = "https://maps.googleapis.com";
+   public boolean supportsClientId = true;
+   public String requestVerb = "GET";
+ 
+   public ApiConfig(String path) {
+     this.path = path;
+   }
+ 
+   public ApiConfig fieldNamingPolicy(FieldNamingPolicy fieldNamingPolicy) {
+     this.fieldNamingPolicy = fieldNamingPolicy;
+     return this;
+   }
+ 
+   public ApiConfig hostName(String hostName) {
+     this.hostName = hostName;
+     return this;
+   }
+ 
+   public ApiConfig supportsClientId(boolean supportsClientId) {
+     this.supportsClientId = supportsClientId;
+     return this;
+   }
+ 
+   public ApiConfig requestVerb(String requestVerb) {
+     this.requestVerb = requestVerb;
+     return this;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-10.html b/CodeCoverageReport/ns-4/sources/source-10.html new file mode 100644 index 000000000..66f2062b0 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-10.html @@ -0,0 +1,182 @@ + + + + + + + + Coverage Report > PriceLevelAdapter + + + + + + +
+ + +

Coverage Summary for Class: PriceLevelAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PriceLevelAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 33.3% + + + (3/9) + + + + 42.9% + + + (6/14) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.PriceLevel;
+ import java.io.IOException;
+ 
+ /**
+  * This class handles conversion from JSON to {@link PriceLevel}.
+  *
+  * <p>Please see <a
+  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
+  * Type Adapter</a> for more detail.
+  */
+ public class PriceLevelAdapter extends TypeAdapter<PriceLevel> {
+ 
+   @Override
+   public PriceLevel read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     if (reader.peek() == JsonToken.NUMBER) {
+       int priceLevel = reader.nextInt();
+ 
+       switch (priceLevel) {
+         case 0:
+           return PriceLevel.FREE;
+         case 1:
+           return PriceLevel.INEXPENSIVE;
+         case 2:
+           return PriceLevel.MODERATE;
+         case 3:
+           return PriceLevel.EXPENSIVE;
+         case 4:
+           return PriceLevel.VERY_EXPENSIVE;
+       }
+     }
+ 
+     return PriceLevel.UNKNOWN;
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter writer, PriceLevel value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-11.html b/CodeCoverageReport/ns-4/sources/source-11.html new file mode 100644 index 000000000..485dffcdf --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-11.html @@ -0,0 +1,375 @@ + + + + + + + + Coverage Report > RateLimitExecutorService + + + + + + +
+ + +

Coverage Summary for Class: RateLimitExecutorService (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
RateLimitExecutorService + + 38.9% + + + (7/18) + + + + 100% + + + (4/4) + + + + 67.4% + + + (31/46) + +
RateLimitExecutorService$1 + + 100% + + + (2/2) + + + + 100% + + + (4/4) + +
RateLimitExecutorService$2 + + 50% + + + (1/2) + + + + 50% + + + (1/2) + +
RateLimitExecutorService$3 + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
Total + + 41.7% + + + (10/24) + + + + 100% + + + (4/4) + + + + 66.7% + + + (36/54) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.maps.internal.ratelimiter.RateLimiter;
+ import java.util.Collection;
+ import java.util.List;
+ import java.util.concurrent.BlockingQueue;
+ import java.util.concurrent.Callable;
+ import java.util.concurrent.ExecutionException;
+ import java.util.concurrent.ExecutorService;
+ import java.util.concurrent.Future;
+ import java.util.concurrent.LinkedBlockingQueue;
+ import java.util.concurrent.SynchronousQueue;
+ import java.util.concurrent.ThreadFactory;
+ import java.util.concurrent.ThreadPoolExecutor;
+ import java.util.concurrent.TimeUnit;
+ import java.util.concurrent.TimeoutException;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ /** Rate Limit Policy for Google Maps Web Services APIs. */
+ public class RateLimitExecutorService implements ExecutorService, Runnable {
+ 
+   private static final Logger LOG =
+       LoggerFactory.getLogger(RateLimitExecutorService.class.getName());
+   private static final int DEFAULT_QUERIES_PER_SECOND = 50;
+ 
+   // It's important we set Ok's second arg to threadFactory(.., true) to ensure the threads are
+   // killed when the app exits. For synchronous requests this is ideal but it means any async
+   // requests still pending after termination will be killed.
+   private final ExecutorService delegate =
+       new ThreadPoolExecutor(
+           Runtime.getRuntime().availableProcessors(),
+           Integer.MAX_VALUE,
+           60,
+           TimeUnit.SECONDS,
+           new SynchronousQueue<Runnable>(),
+           threadFactory("Rate Limited Dispatcher", true));
+ 
+   private final BlockingQueue<Runnable> queue = new LinkedBlockingQueue<>();
+   private final RateLimiter rateLimiter =
+       RateLimiter.create(DEFAULT_QUERIES_PER_SECOND, 1, TimeUnit.SECONDS);
+ 
+   final Thread delayThread;
+ 
+   public RateLimitExecutorService() {
+     setQueriesPerSecond(DEFAULT_QUERIES_PER_SECOND);
+     delayThread = new Thread(this);
+     delayThread.setDaemon(true);
+     delayThread.setName("RateLimitExecutorDelayThread");
+     delayThread.start();
+   }
+ 
+   public void setQueriesPerSecond(int maxQps) {
+     this.rateLimiter.setRate(maxQps);
+   }
+ 
+   /** Main loop. */
+   @Override
+   public void run() {
+     try {
+       while (!delegate.isShutdown()) {
+         this.rateLimiter.acquire();
+         Runnable r = queue.take();
+         if (!delegate.isShutdown()) {
+           delegate.execute(r);
+         }
+       }
+     } catch (InterruptedException ie) {
+       LOG.info("Interrupted", ie);
+     }
+   }
+ 
+   private static ThreadFactory threadFactory(final String name, final boolean daemon) {
+     return new ThreadFactory() {
+       @Override
+       public Thread newThread(Runnable runnable) {
+         Thread result = new Thread(runnable, name);
+         result.setDaemon(daemon);
+         return result;
+       }
+     };
+   }
+ 
+   @Override
+   public void execute(Runnable runnable) {
+     queue.add(runnable);
+   }
+ 
+   @Override
+   public void shutdown() {
+     delegate.shutdown();
+     // we need this to break out of queue.take()
+     execute(
+         new Runnable() {
+           @Override
+           public void run() {
+             // do nothing
+           }
+         });
+   }
+ 
+   // Everything below here is straight delegation.
+ 
+   @Override
+   public List<Runnable> shutdownNow() {
+     List<Runnable> tasks = delegate.shutdownNow();
+     // we need this to break out of queue.take()
+     execute(
+         new Runnable() {
+           @Override
+           public void run() {
+             // do nothing
+           }
+         });
+     return tasks;
+   }
+ 
+   @Override
+   public boolean isShutdown() {
+     return delegate.isShutdown();
+   }
+ 
+   @Override
+   public boolean isTerminated() {
+     return delegate.isTerminated();
+   }
+ 
+   @Override
+   public boolean awaitTermination(long l, TimeUnit timeUnit) throws InterruptedException {
+     return delegate.awaitTermination(l, timeUnit);
+   }
+ 
+   @Override
+   public <T> Future<T> submit(Callable<T> tCallable) {
+     return delegate.submit(tCallable);
+   }
+ 
+   @Override
+   public <T> Future<T> submit(Runnable runnable, T t) {
+     return delegate.submit(runnable, t);
+   }
+ 
+   @Override
+   public Future<?> submit(Runnable runnable) {
+     return delegate.submit(runnable);
+   }
+ 
+   @Override
+   public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> callables)
+       throws InterruptedException {
+     return delegate.invokeAll(callables);
+   }
+ 
+   @Override
+   public <T> List<Future<T>> invokeAll(
+       Collection<? extends Callable<T>> callables, long l, TimeUnit timeUnit)
+       throws InterruptedException {
+     return delegate.invokeAll(callables, l, timeUnit);
+   }
+ 
+   @Override
+   public <T> T invokeAny(Collection<? extends Callable<T>> callables)
+       throws InterruptedException, ExecutionException {
+     return delegate.invokeAny(callables);
+   }
+ 
+   @Override
+   public <T> T invokeAny(Collection<? extends Callable<T>> callables, long l, TimeUnit timeUnit)
+       throws InterruptedException, ExecutionException, TimeoutException {
+     return delegate.invokeAny(callables, l, timeUnit);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-12.html b/CodeCoverageReport/ns-4/sources/source-12.html new file mode 100644 index 000000000..0e5a23bf8 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-12.html @@ -0,0 +1,184 @@ + + + + + + + + Coverage Report > SafeEnumAdapter + + + + + + +
+ + +

Coverage Summary for Class: SafeEnumAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
SafeEnumAdapter + + 100% + + + (1/1) + + + + 75% + + + (3/4) + + + + 50% + + + (2/4) + + + + 60% + + + (9/15) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import java.io.IOException;
+ import java.util.Locale;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ /**
+  * A {@link com.google.gson.TypeAdapter} that maps case-insensitive values to an enum type. If the
+  * value is not found, an UNKNOWN value is returned, and logged. This allows the server to return
+  * values this client doesn't yet know about.
+  *
+  * @param <E> the enum type to map values to.
+  */
+ public class SafeEnumAdapter<E extends Enum<E>> extends TypeAdapter<E> {
+ 
+   private static final Logger LOG = LoggerFactory.getLogger(SafeEnumAdapter.class.getName());
+ 
+   private final Class<E> clazz;
+   private final E unknownValue;
+ 
+   /** @param unknownValue the value to return if the value cannot be found. */
+   public SafeEnumAdapter(E unknownValue) {
+     if (unknownValue == null) throw new IllegalArgumentException();
+ 
+     this.unknownValue = unknownValue;
+     this.clazz = unknownValue.getDeclaringClass();
+   }
+ 
+   @Override
+   public void write(JsonWriter out, E value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ 
+   @Override
+   public E read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+     String value = reader.nextString();
+     try {
+       return Enum.valueOf(clazz, value.toUpperCase(Locale.ENGLISH));
+     } catch (IllegalArgumentException iae) {
+       LOG.warn("Unknown type for enum {}: '{}'", clazz.getName(), value);
+       return unknownValue;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-13.html b/CodeCoverageReport/ns-4/sources/source-13.html new file mode 100644 index 000000000..221a94792 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-13.html @@ -0,0 +1,207 @@ + + + + + + + + Coverage Report > StringJoin + + + + + + +
+ + +

Coverage Summary for Class: StringJoin (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
StringJoin + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
StringJoin$UrlValue
Total + + 66.7% + + + (4/6) + + + + 100% + + + (10/10) + + + + 90% + + + (18/20) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import java.util.Objects;
+ 
+ /** Utility class to join strings. */
+ public class StringJoin {
+ 
+   /**
+    * Marker Interface to enable the URL Value enums in {@link com.google.maps.DirectionsApi} to be
+    * string joinable.
+    */
+   public interface UrlValue {
+     /** @return the object, represented as a URL value (not URL encoded). */
+     String toUrlValue();
+   }
+ 
+   private StringJoin() {}
+ 
+   public static String join(char delim, String... parts) {
+     return join(new String(new char[] {delim}), parts);
+   }
+ 
+   public static String join(CharSequence delim, String... parts) {
+     StringBuilder result = new StringBuilder();
+     for (int i = 0; i < parts.length; i++) {
+       if (i != 0) {
+         result.append(delim);
+       }
+       result.append(parts[i]);
+     }
+     return result.toString();
+   }
+ 
+   public static String join(char delim, Object... parts) {
+     return join(new String(new char[] {delim}), parts);
+   }
+ 
+   public static String join(CharSequence delim, Object... parts) {
+     StringBuilder result = new StringBuilder();
+     for (int i = 0; i < parts.length; i++) {
+       if (i != 0) {
+         result.append(delim);
+       }
+       result.append(Objects.toString(parts[i]));
+     }
+     return result.toString();
+   }
+ 
+   public static String join(char delim, UrlValue... parts) {
+     String[] strings = new String[parts.length];
+     int i = 0;
+     for (UrlValue part : parts) {
+       strings[i++] = part.toUrlValue();
+     }
+ 
+     return join(delim, strings);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-14.html b/CodeCoverageReport/ns-4/sources/source-14.html new file mode 100644 index 000000000..a491e126e --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-14.html @@ -0,0 +1,181 @@ + + + + + + + + Coverage Report > UrlSigner + + + + + + +
+ + +

Coverage Summary for Class: UrlSigner (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
UrlSigner + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 50% + + + (1/2) + + + + 76.9% + + + (10/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 
+ import java.security.InvalidKeyException;
+ import java.security.NoSuchAlgorithmException;
+ import javax.crypto.Mac;
+ import javax.crypto.spec.SecretKeySpec;
+ import okio.ByteString;
+ 
+ /**
+  * Utility class for supporting Maps for Work Digital signatures.
+  *
+  * <p>See <a
+  * href="https://developers.google.com/maps/documentation/directions/get-api-key#client-id">Using a
+  * client ID</a> for more detail on this protocol.
+  */
+ public class UrlSigner {
+   private static final String ALGORITHM_HMAC_SHA1 = "HmacSHA1";
+   private final Mac mac;
+ 
+   public UrlSigner(final String keyString) throws NoSuchAlgorithmException, InvalidKeyException {
+     // Convert from URL-safe base64 to regular base64.
+     String base64 = keyString.replace('-', '+').replace('_', '/');
+ 
+     ByteString decodedKey = ByteString.decodeBase64(base64);
+     if (decodedKey == null) {
+       // NOTE: don't log the exception, in case some of the private key leaks to an end-user.
+       throw new IllegalArgumentException("Private key is invalid.");
+     }
+ 
+     mac = Mac.getInstance(ALGORITHM_HMAC_SHA1);
+     mac.init(new SecretKeySpec(decodedKey.toByteArray(), ALGORITHM_HMAC_SHA1));
+   }
+ 
+   /** Generate url safe HmacSHA1 of a path. */
+   public String getSignature(String path) {
+     byte[] digest = getMac().doFinal(path.getBytes(UTF_8));
+     return ByteString.of(digest).base64().replace('+', '-').replace('/', '_');
+   }
+ 
+   private Mac getMac() {
+     // Mac is not thread-safe. Requires a new clone for each signature.
+     try {
+       return (Mac) mac.clone();
+     } catch (CloneNotSupportedException e) {
+       throw new IllegalStateException(e);
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-15.html b/CodeCoverageReport/ns-4/sources/source-15.html new file mode 100644 index 000000000..62b9a602a --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-15.html @@ -0,0 +1,198 @@ + + + + + + + + Coverage Report > ZonedDateTimeAdapter + + + + + + +
+ + +

Coverage Summary for Class: ZonedDateTimeAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
ZonedDateTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (8/10) + + + + 85% + + + (17/20) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import java.io.IOException;
+ import java.time.Instant;
+ import java.time.ZoneId;
+ import java.time.ZonedDateTime;
+ 
+ /**
+  * This class handles conversion from JSON to {@link ZonedDateTime}s.
+  *
+  * <p>Please see <a
+  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">TypeAdapter</a>
+  * for more detail.
+  */
+ public class ZonedDateTimeAdapter extends TypeAdapter<ZonedDateTime> {
+ 
+   /**
+    * Read a Time object from a Directions API result and convert it to a {@link ZonedDateTime}.
+    *
+    * <p>We are expecting to receive something akin to the following:
+    *
+    * <pre>
+    * {
+    *   "text" : "4:27pm",
+    *   "time_zone" : "Australia/Sydney",
+    *   "value" : 1406528829
+    * }
+    * </pre>
+    */
+   @Override
+   public ZonedDateTime read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     String timeZoneId = "";
+     long secondsSinceEpoch = 0L;
+ 
+     reader.beginObject();
+     while (reader.hasNext()) {
+       String name = reader.nextName();
+       if (name.equals("text")) {
+         // Ignore the human-readable rendering.
+         reader.nextString();
+       } else if (name.equals("time_zone")) {
+         timeZoneId = reader.nextString();
+       } else if (name.equals("value")) {
+         secondsSinceEpoch = reader.nextLong();
+       }
+     }
+     reader.endObject();
+ 
+     return ZonedDateTime.ofInstant(
+         Instant.ofEpochMilli(secondsSinceEpoch * 1000), ZoneId.of(timeZoneId));
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter writer, ZonedDateTime value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-16.html b/CodeCoverageReport/ns-4/sources/source-16.html new file mode 100644 index 000000000..5be253c94 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-16.html @@ -0,0 +1,104 @@ + + + + + + + + Coverage Report > ApiResponse + + + + + + +
+ + +

Coverage Summary for Class: ApiResponse (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + + +
Class
ApiResponse$MockitoMock$xMBB80MP
ApiResponse$MockitoMock$xMBB80MP$auxiliary$5hLB9xSM
ApiResponse$MockitoMock$xMBB80MP$auxiliary$AXzkHk5D
Total
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.maps.errors.ApiException;
+ 
+ /** All Geo API responses implement this Interface. */
+ public interface ApiResponse<T> {
+   boolean successful();
+ 
+   T getResult();
+ 
+   ApiException getError();
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-2.html b/CodeCoverageReport/ns-4/sources/source-2.html new file mode 100644 index 000000000..9bfcbdf03 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-2.html @@ -0,0 +1,186 @@ + + + + + + + + Coverage Report > DayOfWeekAdapter + + + + + + +
+ + +

Coverage Summary for Class: DayOfWeekAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DayOfWeekAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 81.8% + + + (9/11) + + + + 75% + + + (12/16) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
+ import java.io.IOException;
+ 
+ /**
+  * This class handles conversion from JSON to {@link DayOfWeek}.
+  *
+  * <p>Please see <a
+  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
+  * Type Adapter</a> for more detail.
+  */
+ public class DayOfWeekAdapter extends TypeAdapter<DayOfWeek> {
+ 
+   @Override
+   public DayOfWeek read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     if (reader.peek() == JsonToken.NUMBER) {
+       int day = reader.nextInt();
+ 
+       switch (day) {
+         case 0:
+           return DayOfWeek.SUNDAY;
+         case 1:
+           return DayOfWeek.MONDAY;
+         case 2:
+           return DayOfWeek.TUESDAY;
+         case 3:
+           return DayOfWeek.WEDNESDAY;
+         case 4:
+           return DayOfWeek.THURSDAY;
+         case 5:
+           return DayOfWeek.FRIDAY;
+         case 6:
+           return DayOfWeek.SATURDAY;
+       }
+     }
+ 
+     return DayOfWeek.UNKNOWN;
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter writer, DayOfWeek value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-3.html b/CodeCoverageReport/ns-4/sources/source-3.html new file mode 100644 index 000000000..51aee4cea --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-3.html @@ -0,0 +1,189 @@ + + + + + + + + Coverage Report > DistanceAdapter + + + + + + +
+ + +

Coverage Summary for Class: DistanceAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DistanceAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.Distance;
+ import java.io.IOException;
+ 
+ /**
+  * This class handles conversion from JSON to {@link Distance}.
+  *
+  * <p>Please see <a
+  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
+  * Type Adapter</a> for more detail.
+  */
+ public class DistanceAdapter extends TypeAdapter<Distance> {
+ 
+   /**
+    * Read a distance object from a Directions API result and convert it to a {@link Distance}.
+    *
+    * <p>We are expecting to receive something akin to the following:
+    *
+    * <pre>
+    * {
+    *   "value": 207, "text": "0.1 mi"
+    * }
+    * </pre>
+    */
+   @Override
+   public Distance read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     Distance distance = new Distance();
+ 
+     reader.beginObject();
+     while (reader.hasNext()) {
+       String name = reader.nextName();
+       if (name.equals("text")) {
+         distance.humanReadable = reader.nextString();
+       } else if (name.equals("value")) {
+         distance.inMeters = reader.nextLong();
+       }
+     }
+     reader.endObject();
+ 
+     return distance;
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter writer, Distance value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-4.html b/CodeCoverageReport/ns-4/sources/source-4.html new file mode 100644 index 000000000..2ee42a302 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-4.html @@ -0,0 +1,191 @@ + + + + + + + + Coverage Report > DurationAdapter + + + + + + +
+ + +

Coverage Summary for Class: DurationAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DurationAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (6/8) + + + + 81.2% + + + (13/16) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.Distance;
+ import com.google.maps.model.Duration;
+ import java.io.IOException;
+ 
+ /**
+  * This class handles conversion from JSON to {@link Distance}.
+  *
+  * <p>Please see <a
+  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
+  * Type Adapter</a> for more detail.
+  */
+ public class DurationAdapter extends TypeAdapter<Duration> {
+ 
+   /**
+    * Read a distance object from a Directions API result and convert it to a {@link Distance}.
+    *
+    * <p>We are expecting to receive something akin to the following:
+    *
+    * <pre>
+    * {
+    *   "value": 207,
+    *   "text": "0.1 mi"
+    * }
+    * </pre>
+    */
+   @Override
+   public Duration read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     Duration duration = new Duration();
+ 
+     reader.beginObject();
+     while (reader.hasNext()) {
+       String name = reader.nextName();
+       if (name.equals("text")) {
+         duration.humanReadable = reader.nextString();
+       } else if (name.equals("value")) {
+         duration.inSeconds = reader.nextLong();
+       }
+     }
+     reader.endObject();
+ 
+     return duration;
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter writer, Duration value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-5.html b/CodeCoverageReport/ns-4/sources/source-5.html new file mode 100644 index 000000000..f415db9f9 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-5.html @@ -0,0 +1,137 @@ + + + + + + + + Coverage Report > EncodedPolylineInstanceCreator + + + + + + +
+ + +

Coverage Summary for Class: EncodedPolylineInstanceCreator (com.google.maps.internal)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
EncodedPolylineInstanceCreator + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/3) + +
+ +
+
+ + +
+ /*
+  * Copyright 2017 by https://github.com/ArielY15
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.InstanceCreator;
+ import com.google.maps.model.EncodedPolyline;
+ import java.lang.reflect.Type;
+ 
+ public class EncodedPolylineInstanceCreator implements InstanceCreator<EncodedPolyline> {
+   private String points;
+ 
+   public EncodedPolylineInstanceCreator(String points) {
+     this.points = points;
+   }
+ 
+   @Override
+   public EncodedPolyline createInstance(Type type) {
+     return new EncodedPolyline(points);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-6.html b/CodeCoverageReport/ns-4/sources/source-6.html new file mode 100644 index 000000000..df51f9f57 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-6.html @@ -0,0 +1,156 @@ + + + + + + + + Coverage Report > ExceptionsAllowedToRetry + + + + + + +
+ + +

Coverage Summary for Class: ExceptionsAllowedToRetry (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
ExceptionsAllowedToRetry + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.maps.errors.ApiException;
+ import java.util.HashSet;
+ 
+ public final class ExceptionsAllowedToRetry extends HashSet<Class<? extends ApiException>> {
+ 
+   private static final long serialVersionUID = 5283992240187266422L;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder().append("ExceptionsAllowedToRetry[");
+ 
+     Object[] array = toArray();
+     for (int i = 0; i < array.length; i++) {
+       sb.append(array[i]);
+       if (i < array.length - 1) {
+         sb.append(", ");
+       }
+     }
+ 
+     sb.append(']');
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-7.html b/CodeCoverageReport/ns-4/sources/source-7.html new file mode 100644 index 000000000..291369341 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-7.html @@ -0,0 +1,185 @@ + + + + + + + + Coverage Report > FareAdapter + + + + + + +
+ + +

Coverage Summary for Class: FareAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
FareAdapter + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 0% + + + (0/8) + + + + 5.9% + + + (1/17) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.Fare;
+ import java.io.IOException;
+ import java.math.BigDecimal;
+ import java.util.Currency;
+ 
+ /** This class handles conversion from JSON to {@link com.google.maps.model.Fare}. */
+ public class FareAdapter extends TypeAdapter<Fare> {
+ 
+   /**
+    * Read a Fare object from the Directions API and convert to a {@link com.google.maps.model.Fare}
+    *
+    * <pre>{
+    *   "currency": "USD",
+    *   "value": 6
+    * }</pre>
+    */
+   @Override
+   public Fare read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     Fare fare = new Fare();
+     reader.beginObject();
+     while (reader.hasNext()) {
+       String key = reader.nextName();
+       if ("currency".equals(key)) {
+         fare.currency = Currency.getInstance(reader.nextString());
+       } else if ("value".equals(key)) {
+         // this relies on nextString() being able to coerce raw numbers to strings
+         fare.value = new BigDecimal(reader.nextString());
+       } else {
+         // Be forgiving of unexpected values
+         reader.skipValue();
+       }
+     }
+     reader.endObject();
+ 
+     return fare;
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter out, Fare value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-8.html b/CodeCoverageReport/ns-4/sources/source-8.html new file mode 100644 index 000000000..62d83c964 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-8.html @@ -0,0 +1,382 @@ + + + + + + + + Coverage Report > GaePendingResult + + + + + + +
+ + +

Coverage Summary for Class: GaePendingResult (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GaePendingResult + + 0% + + + (0/1) + + + + 0% + + + (0/11) + + + + 0% + + + (0/38) + + + + 0% + + + (0/90) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.appengine.api.urlfetch.HTTPHeader;
+ import com.google.appengine.api.urlfetch.HTTPRequest;
+ import com.google.appengine.api.urlfetch.HTTPResponse;
+ import com.google.appengine.api.urlfetch.URLFetchService;
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.gson.Gson;
+ import com.google.gson.GsonBuilder;
+ import com.google.gson.JsonSyntaxException;
+ import com.google.maps.GeolocationApi;
+ import com.google.maps.ImageResult;
+ import com.google.maps.PendingResult;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.errors.UnknownErrorException;
+ import com.google.maps.metrics.RequestMetrics;
+ import com.google.maps.model.AddressComponentType;
+ import com.google.maps.model.AddressType;
+ import com.google.maps.model.Distance;
+ import com.google.maps.model.Duration;
+ import com.google.maps.model.EncodedPolyline;
+ import com.google.maps.model.Fare;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.LocationType;
+ import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
+ import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType;
+ import com.google.maps.model.PriceLevel;
+ import com.google.maps.model.TravelMode;
+ import com.google.maps.model.VehicleType;
+ import java.io.IOException;
+ import java.nio.charset.Charset;
+ import java.time.Instant;
+ import java.time.LocalTime;
+ import java.time.ZonedDateTime;
+ import java.util.Arrays;
+ import java.util.List;
+ import java.util.concurrent.ExecutionException;
+ import java.util.concurrent.Future;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ /**
+  * A PendingResult backed by a HTTP call executed by Google App Engine URL Fetch capability, a
+  * deserialization step using Gson, and a retry policy.
+  *
+  * <p>{@code T} is the type of the result of this pending result, and {@code R} is the type of the
+  * request.
+  */
+ public class GaePendingResult<T, R extends ApiResponse<T>> implements PendingResult<T> {
+   private final HTTPRequest request;
+   private final URLFetchService client;
+   private final Class<R> responseClass;
+   private final FieldNamingPolicy fieldNamingPolicy;
+   private final Integer maxRetries;
+   private final ExceptionsAllowedToRetry exceptionsAllowedToRetry;
+   private final RequestMetrics metrics;
+ 
+   private long errorTimeOut;
+   private int retryCounter = 0;
+   private long cumulativeSleepTime = 0;
+   private Future<HTTPResponse> call;
+ 
+   private static final Logger LOG = LoggerFactory.getLogger(GaePendingResult.class.getName());
+   private static final List<Integer> RETRY_ERROR_CODES = Arrays.asList(500, 503, 504);
+ 
+   /**
+    * @param request HTTP request to execute.
+    * @param client The client used to execute the request.
+    * @param responseClass Model class to unmarshal JSON body content.
+    * @param fieldNamingPolicy FieldNamingPolicy for unmarshaling JSON.
+    * @param errorTimeOut Number of milliseconds to re-send erroring requests.
+    * @param maxRetries Number of times allowed to re-send erroring requests.
+    */
+   public GaePendingResult(
+       HTTPRequest request,
+       URLFetchService client,
+       Class<R> responseClass,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeOut,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     this.request = request;
+     this.client = client;
+     this.responseClass = responseClass;
+     this.fieldNamingPolicy = fieldNamingPolicy;
+     this.errorTimeOut = errorTimeOut;
+     this.maxRetries = maxRetries;
+     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
+     this.metrics = metrics;
+ 
+     metrics.startNetwork();
+     this.call = client.fetchAsync(request);
+   }
+ 
+   @Override
+   public void setCallback(Callback<T> callback) {
+     throw new RuntimeException("setCallback not implemented for Google App Engine");
+   }
+ 
+   @Override
+   public T await() throws ApiException, IOException, InterruptedException {
+     try {
+       HTTPResponse result = call.get();
+       metrics.endNetwork();
+       return parseResponse(this, result);
+     } catch (ExecutionException e) {
+       if (e.getCause() instanceof IOException) {
+         throw (IOException) e.getCause();
+       } else {
+         // According to
+         // https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/urlfetch/URLFetchService
+         // all exceptions should be subclass of IOException so this should not happen.
+         throw new UnknownErrorException("Unexpected exception from " + e.getMessage());
+       }
+     }
+   }
+ 
+   @Override
+   public T awaitIgnoreError() {
+     try {
+       return await();
+     } catch (Exception e) {
+       return null;
+     }
+   }
+ 
+   @Override
+   public void cancel() {
+     call.cancel(true);
+   }
+ 
+   @SuppressWarnings("unchecked")
+   private T parseResponse(GaePendingResult<T, R> request, HTTPResponse response)
+       throws IOException, ApiException, InterruptedException {
+     try {
+       T result = parseResponseInternal(request, response);
+       metrics.endRequest(null, response.getResponseCode(), retryCounter);
+       return result;
+     } catch (Exception e) {
+       metrics.endRequest(e, response.getResponseCode(), retryCounter);
+       throw e;
+     }
+   }
+ 
+   @SuppressWarnings("unchecked")
+   private T parseResponseInternal(GaePendingResult<T, R> request, HTTPResponse response)
+       throws IOException, ApiException, InterruptedException {
+     if (shouldRetry(response)) {
+       // Retry is a blocking method, but that's OK. If we're here, we're either in an await()
+       // call, which is blocking anyway, or we're handling a callback in a separate thread.
+       return request.retry();
+     }
+ 
+     byte[] bytes = response.getContent();
+     R resp;
+ 
+     String contentType = null;
+     for (HTTPHeader header : response.getHeaders()) {
+       if (header.getName().equalsIgnoreCase("Content-Type")) {
+         contentType = header.getValue();
+       }
+     }
+ 
+     if (contentType != null
+         && contentType.startsWith("image")
+         && responseClass == ImageResult.Response.class
+         && response.getResponseCode() == 200) {
+       ImageResult result = new ImageResult(contentType, bytes);
+       return (T) result;
+     }
+ 
+     Gson gson =
+         new GsonBuilder()
+             .registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeAdapter())
+             .registerTypeAdapter(Distance.class, new DistanceAdapter())
+             .registerTypeAdapter(Duration.class, new DurationAdapter())
+             .registerTypeAdapter(Fare.class, new FareAdapter())
+             .registerTypeAdapter(LatLng.class, new LatLngAdapter())
+             .registerTypeAdapter(
+                 AddressComponentType.class, new SafeEnumAdapter<>(AddressComponentType.UNKNOWN))
+             .registerTypeAdapter(AddressType.class, new SafeEnumAdapter<>(AddressType.UNKNOWN))
+             .registerTypeAdapter(TravelMode.class, new SafeEnumAdapter<>(TravelMode.UNKNOWN))
+             .registerTypeAdapter(LocationType.class, new SafeEnumAdapter<>(LocationType.UNKNOWN))
+             .registerTypeAdapter(RatingType.class, new SafeEnumAdapter<>(RatingType.UNKNOWN))
+             .registerTypeAdapter(VehicleType.class, new SafeEnumAdapter<>(VehicleType.OTHER))
+             .registerTypeAdapter(DayOfWeek.class, new DayOfWeekAdapter())
+             .registerTypeAdapter(PriceLevel.class, new PriceLevelAdapter())
+             .registerTypeAdapter(Instant.class, new InstantAdapter())
+             .registerTypeAdapter(LocalTime.class, new LocalTimeAdapter())
+             .registerTypeAdapter(GeolocationApi.Response.class, new GeolocationResponseAdapter())
+             .registerTypeAdapter(EncodedPolyline.class, new EncodedPolylineInstanceCreator(""))
+             .setFieldNamingPolicy(fieldNamingPolicy)
+             .create();
+ 
+     // Attempt to de-serialize before checking the HTTP status code, as there may be JSON in the
+     // body that we can use to provide a more descriptive exception.
+     try {
+       resp = gson.fromJson(new String(bytes, "utf8"), responseClass);
+     } catch (JsonSyntaxException e) {
+       // Check HTTP status for a more suitable exception
+       if (response.getResponseCode() > 399) {
+         // Some of the APIs return 200 even when the API request fails, as long as the transport
+         // mechanism succeeds. In these cases, INVALID_RESPONSE, etc are handled by the Gson
+         // parsing.
+         throw new IOException(
+             String.format(
+                 "Server Error: %d %s",
+                 response.getResponseCode(),
+                 new String(response.getContent(), Charset.defaultCharset())));
+       }
+ 
+       // Otherwise just cough up the syntax exception.
+       throw e;
+     }
+ 
+     if (resp.successful()) {
+       // Return successful responses
+       return resp.getResult();
+     } else {
+       ApiException e = resp.getError();
+       if (shouldRetry(e)) {
+         // Retry over_query_limit errors
+         return request.retry();
+       } else {
+         // Throw anything else, including OQLs if we've spent too much time retrying
+         throw e;
+       }
+     }
+   }
+ 
+   private T retry() throws IOException, ApiException, InterruptedException {
+     retryCounter++;
+     LOG.info("Retrying request. Retry #{}", retryCounter);
+     metrics.startNetwork();
+     this.call = client.fetchAsync(request);
+     return this.await();
+   }
+ 
+   private boolean shouldRetry(HTTPResponse response) {
+     return RETRY_ERROR_CODES.contains(response.getResponseCode())
+         && cumulativeSleepTime < errorTimeOut
+         && (maxRetries == null || retryCounter < maxRetries);
+   }
+ 
+   private boolean shouldRetry(ApiException exception) {
+     return exceptionsAllowedToRetry.contains(exception.getClass())
+         && cumulativeSleepTime < errorTimeOut
+         && (maxRetries == null || retryCounter < maxRetries);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-9.html b/CodeCoverageReport/ns-4/sources/source-9.html new file mode 100644 index 000000000..10e045cd4 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-9.html @@ -0,0 +1,249 @@ + + + + + + + + Coverage Report > GeolocationResponseAdapter + + + + + + +
+ + +

Coverage Summary for Class: GeolocationResponseAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GeolocationResponseAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 73.5% + + + (25/34) + + + + 83% + + + (39/47) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.GeolocationApi;
+ import java.io.IOException;
+ 
+ public class GeolocationResponseAdapter extends TypeAdapter<GeolocationApi.Response> {
+   /**
+    * Reads in a JSON object to create a Geolocation Response. See:
+    * https://developers.google.com/maps/documentation/geolocation/intro#responses
+    *
+    * <p>Success Case:
+    *
+    * <pre>
+    *   {
+    *     "location": {
+    *       "lat": 51.0,
+    *       "lng": -0.1
+    *     },
+    *     "accuracy": 1200.4
+    *   }
+    * </pre>
+    *
+    * Error Case: The response contains an object with a single error object with the following keys:
+    *
+    * <p>code: This is the same as the HTTP status of the response. {@code message}: A short
+    * description of the error. {@code errors}: A list of errors which occurred. Each error contains
+    * an identifier for the type of error (the reason) and a short description (the message). For
+    * example, sending invalid JSON will return the following error:
+    *
+    * <pre>
+    *   {
+    *     "error": {
+    *       "errors": [ {
+    *           "domain": "geolocation",
+    *           "reason": "notFound",
+    *           "message": "Not Found",
+    *           "debugInfo": "status: ZERO_RESULTS\ncom.google.api.server.core.Fault: Immu...
+    *       }],
+    *       "code": 404,
+    *       "message": "Not Found"
+    *     }
+    *   }
+    * </pre>
+    */
+   @Override
+   public GeolocationApi.Response read(JsonReader reader) throws IOException {
+ 
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+     GeolocationApi.Response response = new GeolocationApi.Response();
+     LatLngAdapter latLngAdapter = new LatLngAdapter();
+ 
+     reader.beginObject(); // opening {
+     while (reader.hasNext()) {
+       String name = reader.nextName();
+       // two different objects could be returned a success object containing "location" and
+       // "accuracy" keys or an error object containing an "error" key
+       if (name.equals("location")) {
+         // we already have a parser for the LatLng object so lets use that
+         response.location = latLngAdapter.read(reader);
+       } else if (name.equals("accuracy")) {
+         response.accuracy = reader.nextDouble();
+       } else if (name.equals("error")) {
+         reader.beginObject(); // the error key leads to another object...
+         while (reader.hasNext()) {
+           String errName = reader.nextName();
+           // ...with keys "errors", "code" and "message"
+           if (errName.equals("code")) {
+             response.code = reader.nextInt();
+           } else if (errName.equals("message")) {
+             response.message = reader.nextString();
+           } else if (errName.equals("errors")) {
+             reader.beginArray(); // its plural because its an array of errors...
+             while (reader.hasNext()) {
+               reader.beginObject(); // ...and each error array element is an object...
+               while (reader.hasNext()) {
+                 errName = reader.nextName();
+                 // ...with keys "reason", "domain", "debugInfo", "location", "locationType",  and
+                 // "message" (again)
+                 if (errName.equals("reason")) {
+                   response.reason = reader.nextString();
+                 } else if (errName.equals("domain")) {
+                   response.domain = reader.nextString();
+                 } else if (errName.equals("debugInfo")) {
+                   response.debugInfo = reader.nextString();
+                 } else if (errName.equals("message")) {
+                   // have this already
+                   reader.nextString();
+                 } else if (errName.equals("location")) {
+                   reader.nextString();
+                 } else if (errName.equals("locationType")) {
+                   reader.nextString();
+                 }
+               }
+               reader.endObject();
+             }
+             reader.endArray();
+           }
+         }
+         reader.endObject(); // closing }
+       }
+     }
+     reader.endObject();
+     return response;
+   }
+ 
+   /** Not supported. */
+   @Override
+   public void write(JsonWriter out, GeolocationApi.Response value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method.");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-a.html b/CodeCoverageReport/ns-4/sources/source-a.html new file mode 100644 index 000000000..e74fb6b67 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-a.html @@ -0,0 +1,136 @@ + + + + + + + + Coverage Report > HttpHeaders + + + + + + +
+ + +

Coverage Summary for Class: HttpHeaders (com.google.maps.internal)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
HttpHeaders + + 0% + + + (0/1) + + + + 0% + + + (0/1) + + + + 0% + + + (0/1) + +
+ +
+
+ + +
+ /*
+  * Copyright 2020 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ /** Contains HTTP header name constants. */
+ public final class HttpHeaders {
+ 
+   /** The HTTP {@code User-Agent} header field name. */
+   public static final String USER_AGENT = "User-Agent";
+ 
+   /** The HTTP {@code X-Goog-Maps-Experience-ID} header field name. */
+   public static final String X_GOOG_MAPS_EXPERIENCE_ID = "X-Goog-Maps-Experience-ID";
+ 
+   /** The HTTP {@code X-Android-Package} header field name. */
+   public static final String X_ANDROID_PACKAGE = "X-Android-Package";
+ 
+   /** The HTTP {@code X-Android-Cert} header field name. */
+   public static final String X_ANDROID_CERT = "X-Android-Cert";
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-b.html b/CodeCoverageReport/ns-4/sources/source-b.html new file mode 100644 index 000000000..d5a9ce31f --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-b.html @@ -0,0 +1,165 @@ + + + + + + + + Coverage Report > InstantAdapter + + + + + + +
+ + +

Coverage Summary for Class: InstantAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
InstantAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 50% + + + (4/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import java.io.IOException;
+ import java.time.Instant;
+ 
+ /** This class handles conversion from JSON to {@link Instant}. */
+ public class InstantAdapter extends TypeAdapter<Instant> {
+ 
+   /** Read a time from the Places API and convert to a {@link Instant} */
+   @Override
+   public Instant read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     if (reader.peek() == JsonToken.NUMBER) {
+       // Number is the number of seconds since Epoch.
+       return Instant.ofEpochMilli(reader.nextLong() * 1000L);
+     }
+ 
+     throw new UnsupportedOperationException("Unsupported format");
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter out, Instant value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-c.html b/CodeCoverageReport/ns-4/sources/source-c.html new file mode 100644 index 000000000..0ca373884 --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-c.html @@ -0,0 +1,193 @@ + + + + + + + + Coverage Report > LatLngAdapter + + + + + + +
+ + +

Coverage Summary for Class: LatLngAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
LatLngAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 75% + + + (12/16) + + + + 82.6% + + + (19/23) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import com.google.maps.model.LatLng;
+ import java.io.IOException;
+ 
+ /** Handle conversion from varying types of latitude and longitude representations. */
+ public class LatLngAdapter extends TypeAdapter<LatLng> {
+   /**
+    * Reads in a JSON object and try to create a LatLng in one of the following formats.
+    *
+    * <pre>{
+    *   "lat" : -33.8353684,
+    *   "lng" : 140.8527069
+    * }
+    *
+    * {
+    *   "latitude": -33.865257570508334,
+    *   "longitude": 151.19287000481452
+    * }</pre>
+    */
+   @Override
+   public LatLng read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     double lat = 0;
+     double lng = 0;
+     boolean hasLat = false;
+     boolean hasLng = false;
+ 
+     reader.beginObject();
+     while (reader.hasNext()) {
+       String name = reader.nextName();
+       if ("lat".equals(name) || "latitude".equals(name)) {
+         lat = reader.nextDouble();
+         hasLat = true;
+       } else if ("lng".equals(name) || "longitude".equals(name)) {
+         lng = reader.nextDouble();
+         hasLng = true;
+       }
+     }
+     reader.endObject();
+ 
+     if (hasLat && hasLng) {
+       return new LatLng(lat, lng);
+     } else {
+       return null;
+     }
+   }
+ 
+   /** Not supported. */
+   @Override
+   public void write(JsonWriter out, LatLng value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method.");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-d.html b/CodeCoverageReport/ns-4/sources/source-d.html new file mode 100644 index 000000000..a23b4371d --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-d.html @@ -0,0 +1,165 @@ + + + + + + + + Coverage Report > LocalTimeAdapter + + + + + + +
+ + +

Coverage Summary for Class: LocalTimeAdapter (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
LocalTimeAdapter + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 50% + + + (2/4) + + + + 55.6% + + + (5/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.TypeAdapter;
+ import com.google.gson.stream.JsonReader;
+ import com.google.gson.stream.JsonToken;
+ import com.google.gson.stream.JsonWriter;
+ import java.io.IOException;
+ import java.time.LocalTime;
+ import java.time.format.DateTimeFormatter;
+ 
+ /** This class handles conversion from JSON to {@link LocalTime}. */
+ public class LocalTimeAdapter extends TypeAdapter<LocalTime> {
+   /** Read a time from the Places API and convert to a {@link LocalTime} */
+   @Override
+   public LocalTime read(JsonReader reader) throws IOException {
+     if (reader.peek() == JsonToken.NULL) {
+       reader.nextNull();
+       return null;
+     }
+ 
+     if (reader.peek() == JsonToken.STRING) {
+       DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HHmm");
+       return LocalTime.parse(reader.nextString(), dtf);
+     }
+ 
+     throw new UnsupportedOperationException("Unsupported format");
+   }
+ 
+   /** This method is not implemented. */
+   @Override
+   public void write(JsonWriter out, LocalTime value) throws IOException {
+     throw new UnsupportedOperationException("Unimplemented method");
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-e.html b/CodeCoverageReport/ns-4/sources/source-e.html new file mode 100644 index 000000000..088e7c4cd --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-e.html @@ -0,0 +1,513 @@ + + + + + + + + Coverage Report > OkHttpPendingResult + + + + + + +
+ + +

Coverage Summary for Class: OkHttpPendingResult (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
OkHttpPendingResult + + 85.7% + + + (12/14) + + + + 59.1% + + + (26/44) + + + + 86.8% + + + (99/114) + +
OkHttpPendingResult$1 + + 66.7% + + + (2/3) + + + + 57.1% + + + (4/7) + +
OkHttpPendingResult$QueuedResponse + + 66.7% + + + (2/3) + + + + 54.5% + + + (6/11) + +
Total + + 80% + + + (16/20) + + + + 59.1% + + + (26/44) + + + + 82.6% + + + (109/132) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.gson.FieldNamingPolicy;
+ import com.google.gson.Gson;
+ import com.google.gson.GsonBuilder;
+ import com.google.gson.JsonSyntaxException;
+ import com.google.maps.GeolocationApi;
+ import com.google.maps.ImageResult;
+ import com.google.maps.PendingResult;
+ import com.google.maps.errors.ApiException;
+ import com.google.maps.metrics.RequestMetrics;
+ import com.google.maps.model.AddressComponentType;
+ import com.google.maps.model.AddressType;
+ import com.google.maps.model.Distance;
+ import com.google.maps.model.Duration;
+ import com.google.maps.model.Fare;
+ import com.google.maps.model.LatLng;
+ import com.google.maps.model.LocationType;
+ import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
+ import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType;
+ import com.google.maps.model.PriceLevel;
+ import com.google.maps.model.TravelMode;
+ import com.google.maps.model.VehicleType;
+ import java.io.IOException;
+ import java.time.Instant;
+ import java.time.LocalTime;
+ import java.time.ZonedDateTime;
+ import java.util.Arrays;
+ import java.util.List;
+ import java.util.concurrent.ArrayBlockingQueue;
+ import java.util.concurrent.BlockingQueue;
+ import okhttp3.Call;
+ import okhttp3.Callback;
+ import okhttp3.OkHttpClient;
+ import okhttp3.Request;
+ import okhttp3.Response;
+ import okhttp3.ResponseBody;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ 
+ /**
+  * A PendingResult backed by a HTTP call executed by OkHttp, a deserialization step using Gson, rate
+  * limiting and a retry policy.
+  *
+  * <p>{@code T} is the type of the result of this pending result, and {@code R} is the type of the
+  * request.
+  */
+ public class OkHttpPendingResult<T, R extends ApiResponse<T>>
+     implements PendingResult<T>, Callback {
+   private final Request request;
+   private final OkHttpClient client;
+   private final Class<R> responseClass;
+   private final FieldNamingPolicy fieldNamingPolicy;
+   private final Integer maxRetries;
+   private final RequestMetrics metrics;
+ 
+   private Call call;
+   private Callback<T> callback;
+   private long errorTimeOut;
+   private int retryCounter = 0;
+   private long cumulativeSleepTime = 0;
+   private ExceptionsAllowedToRetry exceptionsAllowedToRetry;
+ 
+   private static final Logger LOG = LoggerFactory.getLogger(OkHttpPendingResult.class.getName());
+   private static final List<Integer> RETRY_ERROR_CODES = Arrays.asList(500, 503, 504);
+ 
+   /**
+    * @param request HTTP request to execute.
+    * @param client The client used to execute the request.
+    * @param responseClass Model class to unmarshal JSON body content.
+    * @param fieldNamingPolicy FieldNamingPolicy for unmarshaling JSON.
+    * @param errorTimeOut Number of milliseconds to re-send erroring requests.
+    * @param maxRetries Number of times allowed to re-send erroring requests.
+    * @param exceptionsAllowedToRetry The exceptions to retry.
+    */
+   public OkHttpPendingResult(
+       Request request,
+       OkHttpClient client,
+       Class<R> responseClass,
+       FieldNamingPolicy fieldNamingPolicy,
+       long errorTimeOut,
+       Integer maxRetries,
+       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
+       RequestMetrics metrics) {
+     this.request = request;
+     this.client = client;
+     this.responseClass = responseClass;
+     this.fieldNamingPolicy = fieldNamingPolicy;
+     this.errorTimeOut = errorTimeOut;
+     this.maxRetries = maxRetries;
+     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
+     this.metrics = metrics;
+ 
+     metrics.startNetwork();
+     this.call = client.newCall(request);
+   }
+ 
+   @Override
+   public void setCallback(Callback<T> callback) {
+     this.callback = callback;
+     call.enqueue(this);
+   }
+ 
+   /** Preserve a request/response pair through an asynchronous callback. */
+   private class QueuedResponse {
+     private final OkHttpPendingResult<T, R> request;
+     private final Response response;
+     private final IOException e;
+ 
+     public QueuedResponse(OkHttpPendingResult<T, R> request, Response response) {
+       this.request = request;
+       this.response = response;
+       this.e = null;
+     }
+ 
+     public QueuedResponse(OkHttpPendingResult<T, R> request, IOException e) {
+       this.request = request;
+       this.response = null;
+       this.e = e;
+     }
+   }
+ 
+   @Override
+   public T await() throws ApiException, IOException, InterruptedException {
+     // Handle sleeping for retried requests
+     if (retryCounter > 0) {
+       // 0.5 * (1.5 ^ i) represents an increased sleep time of 1.5x per iteration,
+       // starting at 0.5s when i = 0. The retryCounter will be 1 for the 1st retry,
+       // so subtract 1 here.
+       double delaySecs = 0.5 * Math.pow(1.5, retryCounter - 1);
+ 
+       // Generate a jitter value between -delaySecs / 2 and +delaySecs / 2
+       long delayMillis = (long) (delaySecs * (Math.random() + 0.5) * 1000);
+ 
+       LOG.debug(
+           String.format(
+               "Sleeping between errors for %dms (retry #%d, already slept %dms)",
+               delayMillis, retryCounter, cumulativeSleepTime));
+       cumulativeSleepTime += delayMillis;
+       try {
+         Thread.sleep(delayMillis);
+       } catch (InterruptedException e) {
+         // No big deal if we don't sleep as long as intended.
+       }
+     }
+ 
+     final BlockingQueue<QueuedResponse> waiter = new ArrayBlockingQueue<>(1);
+     final OkHttpPendingResult<T, R> parent = this;
+ 
+     // This callback will be called on another thread, handled by the RateLimitExecutorService.
+     // Calling call.execute() directly would bypass the rate limiting.
+     call.enqueue(
+         new okhttp3.Callback() {
+           @Override
+           public void onFailure(Call call, IOException e) {
+             metrics.endNetwork();
+             waiter.add(new QueuedResponse(parent, e));
+           }
+ 
+           @Override
+           public void onResponse(Call call, Response response) throws IOException {
+             metrics.endNetwork();
+             waiter.add(new QueuedResponse(parent, response));
+           }
+         });
+ 
+     QueuedResponse r = waiter.take();
+     if (r.response != null) {
+       return parseResponse(r.request, r.response);
+     } else {
+       metrics.endRequest(r.e, 0, retryCounter);
+       throw r.e;
+     }
+   }
+ 
+   @Override
+   public T awaitIgnoreError() {
+     try {
+       return await();
+     } catch (Exception e) {
+       return null;
+     }
+   }
+ 
+   @Override
+   public void cancel() {
+     call.cancel();
+   }
+ 
+   @Override
+   public void onFailure(Call call, IOException ioe) {
+     metrics.endNetwork();
+     if (callback != null) {
+       metrics.endRequest(ioe, 0, retryCounter);
+       callback.onFailure(ioe);
+     }
+   }
+ 
+   @Override
+   public void onResponse(Call call, Response response) throws IOException {
+     metrics.endNetwork();
+     if (callback != null) {
+       try {
+         callback.onResult(parseResponse(this, response));
+       } catch (Exception e) {
+         callback.onFailure(e);
+       }
+     }
+   }
+ 
+   @SuppressWarnings("unchecked")
+   private T parseResponse(OkHttpPendingResult<T, R> request, Response response)
+       throws ApiException, InterruptedException, IOException {
+     try {
+       T result = parseResponseInternal(request, response);
+       metrics.endRequest(null, response.code(), retryCounter);
+       return result;
+     } catch (Exception e) {
+       metrics.endRequest(e, response.code(), retryCounter);
+       throw e;
+     }
+   }
+ 
+   @SuppressWarnings("unchecked")
+   private T parseResponseInternal(OkHttpPendingResult<T, R> request, Response response)
+       throws ApiException, InterruptedException, IOException {
+     if (shouldRetry(response)) {
+       // since we are retrying the request we must close the response
+       response.close();
+ 
+       // Retry is a blocking method, but that's OK. If we're here, we're either in an await()
+       // call, which is blocking anyway, or we're handling a callback in a separate thread.
+       return request.retry();
+     }
+ 
+     byte[] bytes;
+     try (ResponseBody body = response.body()) {
+       bytes = body.bytes();
+     }
+     R resp;
+     String contentType = response.header("Content-Type");
+ 
+     if (contentType != null
+         && contentType.startsWith("image")
+         && responseClass == ImageResult.Response.class
+         && response.code() == 200) {
+       ImageResult result = new ImageResult(contentType, bytes);
+       return (T) result;
+     }
+ 
+     Gson gson =
+         new GsonBuilder()
+             .registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeAdapter())
+             .registerTypeAdapter(Distance.class, new DistanceAdapter())
+             .registerTypeAdapter(Duration.class, new DurationAdapter())
+             .registerTypeAdapter(Fare.class, new FareAdapter())
+             .registerTypeAdapter(LatLng.class, new LatLngAdapter())
+             .registerTypeAdapter(
+                 AddressComponentType.class,
+                 new SafeEnumAdapter<AddressComponentType>(AddressComponentType.UNKNOWN))
+             .registerTypeAdapter(
+                 AddressType.class, new SafeEnumAdapter<AddressType>(AddressType.UNKNOWN))
+             .registerTypeAdapter(
+                 TravelMode.class, new SafeEnumAdapter<TravelMode>(TravelMode.UNKNOWN))
+             .registerTypeAdapter(
+                 LocationType.class, new SafeEnumAdapter<LocationType>(LocationType.UNKNOWN))
+             .registerTypeAdapter(
+                 RatingType.class, new SafeEnumAdapter<RatingType>(RatingType.UNKNOWN))
+             .registerTypeAdapter(
+                 VehicleType.class, new SafeEnumAdapter<VehicleType>(VehicleType.OTHER))
+             .registerTypeAdapter(DayOfWeek.class, new DayOfWeekAdapter())
+             .registerTypeAdapter(PriceLevel.class, new PriceLevelAdapter())
+             .registerTypeAdapter(Instant.class, new InstantAdapter())
+             .registerTypeAdapter(LocalTime.class, new LocalTimeAdapter())
+             .registerTypeAdapter(GeolocationApi.Response.class, new GeolocationResponseAdapter())
+             .setFieldNamingPolicy(fieldNamingPolicy)
+             .create();
+ 
+     // Attempt to de-serialize before checking the HTTP status code, as there may be JSON in the
+     // body that we can use to provide a more descriptive exception.
+     try {
+       resp = gson.fromJson(new String(bytes, "utf8"), responseClass);
+     } catch (JsonSyntaxException e) {
+       // Check HTTP status for a more suitable exception
+       if (!response.isSuccessful()) {
+         // Some of the APIs return 200 even when the API request fails, as long as the transport
+         // mechanism succeeds. In these cases, INVALID_RESPONSE, etc are handled by the Gson
+         // parsing.
+         throw new IOException(
+             String.format("Server Error: %d %s", response.code(), response.message()));
+       }
+ 
+       // Otherwise just cough up the syntax exception.
+       throw e;
+     }
+ 
+     if (resp.successful()) {
+       // Return successful responses
+       return resp.getResult();
+     } else {
+       ApiException e = resp.getError();
+       if (shouldRetry(e)) {
+         return request.retry();
+       } else {
+         throw e;
+       }
+     }
+   }
+ 
+   private T retry() throws ApiException, InterruptedException, IOException {
+     retryCounter++;
+     LOG.info("Retrying request. Retry #" + retryCounter);
+     metrics.startNetwork();
+     this.call = client.newCall(request);
+     return this.await();
+   }
+ 
+   private boolean shouldRetry(Response response) {
+     return RETRY_ERROR_CODES.contains(response.code())
+         && cumulativeSleepTime < errorTimeOut
+         && (maxRetries == null || retryCounter < maxRetries);
+   }
+ 
+   private boolean shouldRetry(ApiException exception) {
+     return exceptionsAllowedToRetry.contains(exception.getClass())
+         && cumulativeSleepTime < errorTimeOut
+         && (maxRetries == null || retryCounter < maxRetries);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-4/sources/source-f.html b/CodeCoverageReport/ns-4/sources/source-f.html new file mode 100644 index 000000000..a6d3a693e --- /dev/null +++ b/CodeCoverageReport/ns-4/sources/source-f.html @@ -0,0 +1,219 @@ + + + + + + + + Coverage Report > PolylineEncoding + + + + + + +
+ + +

Coverage Summary for Class: PolylineEncoding (com.google.maps.internal)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PolylineEncoding + + 100% + + + (1/1) + + + + 80% + + + (4/5) + + + + 100% + + + (16/16) + + + + 97.8% + + + (44/45) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal;
+ 
+ import com.google.maps.model.LatLng;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ import java.util.List;
+ 
+ /**
+  * Utility class that encodes and decodes Polylines.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/utilities/polylinealgorithm">
+  * https://developers.google.com/maps/documentation/utilities/polylinealgorithm</a> for detailed
+  * description of this format.
+  */
+ public class PolylineEncoding {
+   /** Decodes an encoded path string into a sequence of LatLngs. */
+   public static List<LatLng> decode(final String encodedPath) {
+ 
+     int len = encodedPath.length();
+ 
+     final List<LatLng> path = new ArrayList<>(len / 2);
+     int index = 0;
+     int lat = 0;
+     int lng = 0;
+ 
+     while (index < len) {
+       int result = 1;
+       int shift = 0;
+       int b;
+       do {
+         b = encodedPath.charAt(index++) - 63 - 1;
+         result += b << shift;
+         shift += 5;
+       } while (b >= 0x1f);
+       lat += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
+ 
+       result = 1;
+       shift = 0;
+       do {
+         b = encodedPath.charAt(index++) - 63 - 1;
+         result += b << shift;
+         shift += 5;
+       } while (b >= 0x1f);
+       lng += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
+ 
+       path.add(new LatLng(lat * 1e-5, lng * 1e-5));
+     }
+ 
+     return path;
+   }
+ 
+   /** Encodes a sequence of LatLngs into an encoded path string. */
+   public static String encode(final List<LatLng> path) {
+     long lastLat = 0;
+     long lastLng = 0;
+ 
+     final StringBuilder result = new StringBuilder();
+ 
+     for (final LatLng point : path) {
+       long lat = Math.round(point.lat * 1e5);
+       long lng = Math.round(point.lng * 1e5);
+ 
+       long dLat = lat - lastLat;
+       long dLng = lng - lastLng;
+ 
+       encode(dLat, result);
+       encode(dLng, result);
+ 
+       lastLat = lat;
+       lastLng = lng;
+     }
+     return result.toString();
+   }
+ 
+   private static void encode(long v, StringBuilder result) {
+     v = v < 0 ? ~(v << 1) : v << 1;
+     while (v >= 0x20) {
+       result.append(Character.toChars((int) ((0x20 | (v & 0x1f)) + 63)));
+       v >>= 5;
+     }
+     result.append(Character.toChars((int) (v + 63)));
+   }
+ 
+   /** Encodes an array of LatLngs into an encoded path string. */
+   public static String encode(LatLng[] path) {
+     return encode(Arrays.asList(path));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index.html b/CodeCoverageReport/ns-5/index.html new file mode 100644 index 000000000..8498bbe0d --- /dev/null +++ b/CodeCoverageReport/ns-5/index.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..c89a6f209 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..0343a9020 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..00ff5dbe1 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..80be8f342 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html new file mode 100644 index 000000000..dc97d2daa --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..f911252f6 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..db08a6300 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..813580ad9 --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..009a2b99b --- /dev/null +++ b/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,363 @@ + + + + + + Coverage Report > com.google.maps.internal.ratelimiter + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.internal.ratelimiter

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.internal.ratelimiter + + 84.6% + + + (11/13) + + + + 56.8% + + + (42/74) + + + + 30.9% + + + (25/81) + + + + 50.8% + + + (125/246) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
Ticker + + 100% + + + (2/2) + + + + 100% + + + (5/5) + + + + + 100% + + + (5/5) + +
Stopwatch + + 50% + + + (1/2) + + + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
SmoothRateLimiter + + 66.7% + + + (2/3) + + + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
RateLimiter + + 100% + + + (3/3) + + + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + + 33.3% + + + (1/3) + +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-1.html b/CodeCoverageReport/ns-5/sources/source-1.html new file mode 100644 index 000000000..552c001ce --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-1.html @@ -0,0 +1,172 @@ + + + + + + + + Coverage Report > LongMath + + + + + + +
+ + +

Coverage Summary for Class: LongMath (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
LongMath + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (3/6) + + + + 60% + + + (3/5) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2012 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ /**
+  * A class for arithmetic on values of type {@code long}.
+  *
+  * <p>This is a minimal port of Google Guava's com.google.common.math.LongMath, just sufficient to
+  * implement the ratelimiter classes.
+  */
+ public final class LongMath {
+   private LongMath() {}
+ 
+   /**
+    * Returns the sum of {@code a} and {@code b} unless it would overflow or underflow in which case
+    * {@code Long.MAX_VALUE} or {@code Long.MIN_VALUE} is returned, respectively.
+    */
+   /* Suppress warnings instead of "fixing" because this is code imported from Guava. */
+   @SuppressWarnings("ShortCircuitBoolean")
+   public static long saturatedAdd(long a, long b) {
+     long naiveSum = a + b;
+     if ((a ^ b) < 0 | (a ^ naiveSum) >= 0) {
+       // If a and b have different signs or a has the same sign as the result then there was no
+       // overflow, return.
+       return naiveSum;
+     }
+     // we did over/under flow, if the sign is negative we should return MAX otherwise MIN
+     return Long.MAX_VALUE + ((naiveSum >>> (Long.SIZE - 1)) ^ 1);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-2.html b/CodeCoverageReport/ns-5/sources/source-2.html new file mode 100644 index 000000000..1618903b5 --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-2.html @@ -0,0 +1,156 @@ + + + + + + + + Coverage Report > Platform + + + + + + +
+ + +

Coverage Summary for Class: Platform (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Platform + + 100% + + + (1/1) + + + + 33.3% + + + (1/3) + + + + 33.3% + + + (1/3) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2009 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ import java.util.Locale;
+ 
+ /**
+  * Methods factored out so that they can be emulated differently in GWT.
+  *
+  * <p>This is a minimal port of Google Guava's com.google.common.base.Platform, sufficient to
+  * implement the ratelimiter classes.
+  *
+  * @author Jesse Wilson
+  */
+ final class Platform {
+   private Platform() {}
+ 
+   /** Calls {@link System#nanoTime()}. */
+   static long systemNanoTime() {
+     return System.nanoTime();
+   }
+ 
+   static String formatCompact4Digits(double value) {
+     return String.format(Locale.ROOT, "%.4g", value);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-3.html b/CodeCoverageReport/ns-5/sources/source-3.html new file mode 100644 index 000000000..876ab531f --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-3.html @@ -0,0 +1,266 @@ + + + + + + + + Coverage Report > Preconditions + + + + + + +
+ + +

Coverage Summary for Class: Preconditions (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
Preconditions + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 16.7% + + + (3/18) + + + + 17.1% + + + (6/35) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2012 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ /**
+  * Static convenience methods that help a method or constructor check whether it was invoked
+  * correctly (that is, whether its <i>preconditions</i> were met).
+  *
+  * <p>This is a minimal port of Google Guava's com.google.common.base.Preconditions necessary to
+  * implement the ratelimiter classes.
+  */
+ public final class Preconditions {
+   private Preconditions() {}
+ 
+   /**
+    * Ensures the truth of an expression involving one or more parameters to the calling method.
+    *
+    * @param expression a boolean expression
+    * @param errorMessageTemplate a template for the exception message should the check fail. The
+    *     message is formed by replacing each {@code %s} placeholder in the template with an
+    *     argument. These are matched by position - the first {@code %s} gets {@code
+    *     errorMessageArgs[0]}, etc. Unmatched arguments will be appended to the formatted message in
+    *     square braces. Unmatched placeholders will be left as-is.
+    * @param errorMessageArgs the arguments to be substituted into the message template. Arguments
+    *     are converted to strings using {@link String#valueOf(Object)}.
+    * @throws IllegalArgumentException if {@code expression} is false
+    */
+   public static void checkArgument(
+       boolean expression, String errorMessageTemplate, Object... errorMessageArgs) {
+     if (!expression) {
+       throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs));
+     }
+   }
+ 
+   /**
+    * Ensures that an object reference passed as a parameter to the calling method is not null.
+    *
+    * @param reference an object reference
+    * @return the non-null reference that was validated
+    * @throws NullPointerException if {@code reference} is null
+    */
+   public static <T> T checkNotNull(T reference) {
+     if (reference == null) {
+       throw new NullPointerException();
+     }
+     return reference;
+   }
+ 
+   /**
+    * Ensures that an object reference passed as a parameter to the calling method is not null.
+    *
+    * @param reference an object reference
+    * @param errorMessage the exception message to use if the check fails; will be converted to a
+    *     string using {@link String#valueOf(Object)}
+    * @return the non-null reference that was validated
+    * @throws NullPointerException if {@code reference} is null
+    */
+   public static <T> T checkNotNull(T reference, Object errorMessage) {
+     if (reference == null) {
+       throw new NullPointerException(String.valueOf(errorMessage));
+     }
+     return reference;
+   }
+ 
+   /**
+    * Ensures the truth of an expression involving the state of the calling instance, but not
+    * involving any parameters to the calling method.
+    *
+    * @param expression a boolean expression
+    * @param errorMessage the exception message to use if the check fails; will be converted to a
+    *     string using {@link String#valueOf(Object)}
+    * @throws IllegalStateException if {@code expression} is false
+    */
+   public static void checkState(boolean expression, Object errorMessage) {
+     if (!expression) {
+       throw new IllegalStateException(String.valueOf(errorMessage));
+     }
+   }
+ 
+   /**
+    * Substitutes each {@code %s} in {@code template} with an argument. These are matched by
+    * position: the first {@code %s} gets {@code args[0]}, etc. If there are more arguments than
+    * placeholders, the unmatched arguments will be appended to the end of the formatted message in
+    * square braces.
+    *
+    * @param template a string containing 0 or more {@code %s} placeholders. null is treated as
+    *     "null".
+    * @param args the arguments to be substituted into the message template. Arguments are converted
+    *     to strings using {@link String#valueOf(Object)}. Arguments can be null.
+    */
+   static String format(String template, Object... args) {
+     template = String.valueOf(template); // null -> "null"
+ 
+     args = args == null ? new Object[] {"(Object[])null"} : args;
+ 
+     // start substituting the arguments into the '%s' placeholders
+     StringBuilder builder = new StringBuilder(template.length() + 16 * args.length);
+     int templateStart = 0;
+     int i = 0;
+     while (i < args.length) {
+       int placeholderStart = template.indexOf("%s", templateStart);
+       if (placeholderStart == -1) {
+         break;
+       }
+       builder.append(template, templateStart, placeholderStart);
+       builder.append(args[i++]);
+       templateStart = placeholderStart + 2;
+     }
+     builder.append(template, templateStart, template.length());
+ 
+     // if we run out of placeholders, append the extra args in square braces
+     if (i < args.length) {
+       builder.append(" [");
+       builder.append(args[i++]);
+       while (i < args.length) {
+         builder.append(", ");
+         builder.append(args[i++]);
+       }
+       builder.append(']');
+     }
+ 
+     return builder.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-4.html b/CodeCoverageReport/ns-5/sources/source-4.html new file mode 100644 index 000000000..bd2bebf86 --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-4.html @@ -0,0 +1,627 @@ + + + + + + + + Coverage Report > RateLimiter + + + + + + +
+ + +

Coverage Summary for Class: RateLimiter (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
RateLimiter + + 57.1% + + + (12/21) + + + + 40% + + + (8/20) + + + + 58.6% + + + (41/70) + +
RateLimiter$SleepingStopwatch + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
RateLimiter$SleepingStopwatch$1 + + 100% + + + (3/3) + + + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
Total + + 65.4% + + + (17/26) + + + + 45.5% + + + (10/22) + + + + 62.8% + + + (49/78) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2012 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ import static com.google.maps.internal.ratelimiter.Preconditions.checkArgument;
+ import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull;
+ import static java.lang.Math.max;
+ import static java.util.concurrent.TimeUnit.MICROSECONDS;
+ import static java.util.concurrent.TimeUnit.NANOSECONDS;
+ import static java.util.concurrent.TimeUnit.SECONDS;
+ 
+ import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothBursty;
+ import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothWarmingUp;
+ import java.util.Locale;
+ import java.util.concurrent.TimeUnit;
+ 
+ /**
+  * A rate limiter. Conceptually, a rate limiter distributes permits at a configurable rate. Each
+  * {@link #acquire()} blocks if necessary until a permit is available, and then takes it. Once
+  * acquired, permits need not be released.
+  *
+  * <p>Rate limiters are often used to restrict the rate at which some physical or logical resource
+  * is accessed. This is in contrast to {@link java.util.concurrent.Semaphore} which restricts the
+  * number of concurrent accesses instead of the rate (note though that concurrency and rate are
+  * closely related, e.g. see <a href="http://en.wikipedia.org/wiki/Little%27s_law">Little's
+  * Law</a>).
+  *
+  * <p>A {@code RateLimiter} is defined primarily by the rate at which permits are issued. Absent
+  * additional configuration, permits will be distributed at a fixed rate, defined in terms of
+  * permits per second. Permits will be distributed smoothly, with the delay between individual
+  * permits being adjusted to ensure that the configured rate is maintained.
+  *
+  * <p>It is possible to configure a {@code RateLimiter} to have a warmup period during which time
+  * the permits issued each second steadily increases until it hits the stable rate.
+  *
+  * <p>As an example, imagine that we have a list of tasks to execute, but we don't want to submit
+  * more than 2 per second:
+  *
+  * <pre>{@code
+  * final RateLimiter rateLimiter = RateLimiter.create(2.0); // rate is "2 permits per second"
+  * void submitTasks(List<Runnable> tasks, Executor executor) {
+  *   for (Runnable task : tasks) {
+  *     rateLimiter.acquire(); // may wait
+  *     executor.execute(task);
+  *   }
+  * }
+  * }</pre>
+  *
+  * <p>As another example, imagine that we produce a stream of data, and we want to cap it at 5kb per
+  * second. This could be accomplished by requiring a permit per byte, and specifying a rate of 5000
+  * permits per second:
+  *
+  * <pre>{@code
+  * final RateLimiter rateLimiter = RateLimiter.create(5000.0); // rate = 5000 permits per second
+  * void submitPacket(byte[] packet) {
+  *   rateLimiter.acquire(packet.length);
+  *   networkService.send(packet);
+  * }
+  * }</pre>
+  *
+  * <p>It is important to note that the number of permits requested <i>never</i> affects the
+  * throttling of the request itself (an invocation to {@code acquire(1)} and an invocation to {@code
+  * acquire(1000)} will result in exactly the same throttling, if any), but it affects the throttling
+  * of the <i>next</i> request. I.e., if an expensive task arrives at an idle RateLimiter, it will be
+  * granted immediately, but it is the <i>next</i> request that will experience extra throttling,
+  * thus paying for the cost of the expensive task.
+  *
+  * <p>Note: {@code RateLimiter} does not provide fairness guarantees.
+  *
+  * @author Dimitris Andreou
+  * @since 13.0
+  */
+ public abstract class RateLimiter {
+   /**
+    * Creates a {@code RateLimiter} with the specified stable throughput, given as "permits per
+    * second" (commonly referred to as <i>QPS</i>, queries per second).
+    *
+    * <p>The returned {@code RateLimiter} ensures that on average no more than {@code
+    * permitsPerSecond} are issued during any given second, with sustained requests being smoothly
+    * spread over each second. When the incoming request rate exceeds {@code permitsPerSecond} the
+    * rate limiter will release one permit every {@code (1.0 / permitsPerSecond)} seconds. When the
+    * rate limiter is unused, bursts of up to {@code permitsPerSecond} permits will be allowed, with
+    * subsequent requests being smoothly limited at the stable rate of {@code permitsPerSecond}.
+    *
+    * @param permitsPerSecond the rate of the returned {@code RateLimiter}, measured in how many
+    *     permits become available per second
+    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero
+    */
+   public static RateLimiter create(double permitsPerSecond) {
+     /*
+      * The default RateLimiter configuration can save the unused permits of up to one second. This
+      * is to avoid unnecessary stalls in situations like this: A RateLimiter of 1qps, and 4 threads,
+      * all calling acquire() at these moments:
+      *
+      * T0 at 0 seconds
+      * T1 at 1.05 seconds
+      * T2 at 2 seconds
+      * T3 at 3 seconds
+      *
+      * Due to the slight delay of T1, T2 would have to sleep till 2.05 seconds, and T3 would also
+      * have to sleep till 3.05 seconds.
+      */
+     return create(permitsPerSecond, SleepingStopwatch.createFromSystemTimer());
+   }
+ 
+   static RateLimiter create(double permitsPerSecond, SleepingStopwatch stopwatch) {
+     RateLimiter rateLimiter = new SmoothBursty(stopwatch, 1.0 /* maxBurstSeconds */);
+     rateLimiter.setRate(permitsPerSecond);
+     return rateLimiter;
+   }
+ 
+   /**
+    * Creates a {@code RateLimiter} with the specified stable throughput, given as "permits per
+    * second" (commonly referred to as <i>QPS</i>, queries per second), and a <i>warmup period</i>,
+    * during which the {@code RateLimiter} smoothly ramps up its rate, until it reaches its maximum
+    * rate at the end of the period (as long as there are enough requests to saturate it). Similarly,
+    * if the {@code RateLimiter} is left <i>unused</i> for a duration of {@code warmupPeriod}, it
+    * will gradually return to its "cold" state, i.e. it will go through the same warming up process
+    * as when it was first created.
+    *
+    * <p>The returned {@code RateLimiter} is intended for cases where the resource that actually
+    * fulfills the requests (e.g., a remote server) needs "warmup" time, rather than being
+    * immediately accessed at the stable (maximum) rate.
+    *
+    * <p>The returned {@code RateLimiter} starts in a "cold" state (i.e. the warmup period will
+    * follow), and if it is left unused for long enough, it will return to that state.
+    *
+    * @param permitsPerSecond the rate of the returned {@code RateLimiter}, measured in how many
+    *     permits become available per second
+    * @param warmupPeriod the duration of the period where the {@code RateLimiter} ramps up its rate,
+    *     before reaching its stable (maximum) rate
+    * @param unit the time unit of the warmupPeriod argument
+    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero or {@code
+    *     warmupPeriod} is negative
+    */
+   public static RateLimiter create(double permitsPerSecond, long warmupPeriod, TimeUnit unit) {
+     checkArgument(warmupPeriod >= 0, "warmupPeriod must not be negative: %s", warmupPeriod);
+     return create(
+         permitsPerSecond, warmupPeriod, unit, 3.0, SleepingStopwatch.createFromSystemTimer());
+   }
+ 
+   static RateLimiter create(
+       double permitsPerSecond,
+       long warmupPeriod,
+       TimeUnit unit,
+       double coldFactor,
+       SleepingStopwatch stopwatch) {
+     RateLimiter rateLimiter = new SmoothWarmingUp(stopwatch, warmupPeriod, unit, coldFactor);
+     rateLimiter.setRate(permitsPerSecond);
+     return rateLimiter;
+   }
+ 
+   /**
+    * The underlying timer; used both to measure elapsed time and sleep as necessary. A separate
+    * object to facilitate testing.
+    */
+   private final SleepingStopwatch stopwatch;
+ 
+   // Can't be initialized in the constructor because mocks don't call the constructor.
+   private volatile Object mutexDoNotUseDirectly;
+ 
+   private Object mutex() {
+     Object mutex = mutexDoNotUseDirectly;
+     if (mutex == null) {
+       synchronized (this) {
+         mutex = mutexDoNotUseDirectly;
+         if (mutex == null) {
+           mutexDoNotUseDirectly = mutex = new Object();
+         }
+       }
+     }
+     return mutex;
+   }
+ 
+   RateLimiter(SleepingStopwatch stopwatch) {
+     this.stopwatch = checkNotNull(stopwatch);
+   }
+ 
+   /**
+    * Updates the stable rate of this {@code RateLimiter}, that is, the {@code permitsPerSecond}
+    * argument provided in the factory method that constructed the {@code RateLimiter}. Currently
+    * throttled threads will <b>not</b> be awakened as a result of this invocation, thus they do not
+    * observe the new rate; only subsequent requests will.
+    *
+    * <p>Note though that, since each request repays (by waiting, if necessary) the cost of the
+    * <i>previous</i> request, this means that the very next request after an invocation to {@code
+    * setRate} will not be affected by the new rate; it will pay the cost of the previous request,
+    * which is in terms of the previous rate.
+    *
+    * <p>The behavior of the {@code RateLimiter} is not modified in any other way, e.g. if the {@code
+    * RateLimiter} was configured with a warmup period of 20 seconds, it still has a warmup period of
+    * 20 seconds after this method invocation.
+    *
+    * @param permitsPerSecond the new stable rate of this {@code RateLimiter}
+    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero
+    */
+   public final void setRate(double permitsPerSecond) {
+     checkArgument(
+         permitsPerSecond > 0.0 && !Double.isNaN(permitsPerSecond), "rate must be positive");
+     synchronized (mutex()) {
+       doSetRate(permitsPerSecond, stopwatch.readMicros());
+     }
+   }
+ 
+   abstract void doSetRate(double permitsPerSecond, long nowMicros);
+ 
+   /**
+    * Returns the stable rate (as {@code permits per seconds}) with which this {@code RateLimiter} is
+    * configured with. The initial value of this is the same as the {@code permitsPerSecond} argument
+    * passed in the factory method that produced this {@code RateLimiter}, and it is only updated
+    * after invocations to {@linkplain #setRate}.
+    */
+   public final double getRate() {
+     synchronized (mutex()) {
+       return doGetRate();
+     }
+   }
+ 
+   abstract double doGetRate();
+ 
+   /**
+    * Acquires a single permit from this {@code RateLimiter}, blocking until the request can be
+    * granted. Tells the amount of time slept, if any.
+    *
+    * <p>This method is equivalent to {@code acquire(1)}.
+    *
+    * @return time spent sleeping to enforce rate, in seconds; 0.0 if not rate-limited
+    * @since 16.0 (present in 13.0 with {@code void} return type})
+    */
+   public double acquire() {
+     return acquire(1);
+   }
+ 
+   /**
+    * Acquires the given number of permits from this {@code RateLimiter}, blocking until the request
+    * can be granted. Tells the amount of time slept, if any.
+    *
+    * @param permits the number of permits to acquire
+    * @return time spent sleeping to enforce rate, in seconds; 0.0 if not rate-limited
+    * @throws IllegalArgumentException if the requested number of permits is negative or zero
+    * @since 16.0 (present in 13.0 with {@code void} return type})
+    */
+   public double acquire(int permits) {
+     long microsToWait = reserve(permits);
+     stopwatch.sleepMicrosUninterruptibly(microsToWait);
+     return 1.0 * microsToWait / SECONDS.toMicros(1L);
+   }
+ 
+   /**
+    * Reserves the given number of permits from this {@code RateLimiter} for future use, returning
+    * the number of microseconds until the reservation can be consumed.
+    *
+    * @return time in microseconds to wait until the resource can be acquired, never negative
+    */
+   final long reserve(int permits) {
+     checkPermits(permits);
+     synchronized (mutex()) {
+       return reserveAndGetWaitLength(permits, stopwatch.readMicros());
+     }
+   }
+ 
+   /**
+    * Acquires a permit from this {@code RateLimiter} if it can be obtained without exceeding the
+    * specified {@code timeout}, or returns {@code false} immediately (without waiting) if the permit
+    * would not have been granted before the timeout expired.
+    *
+    * <p>This method is equivalent to {@code tryAcquire(1, timeout, unit)}.
+    *
+    * @param timeout the maximum time to wait for the permit. Negative values are treated as zero.
+    * @param unit the time unit of the timeout argument
+    * @return {@code true} if the permit was acquired, {@code false} otherwise
+    * @throws IllegalArgumentException if the requested number of permits is negative or zero
+    */
+   public boolean tryAcquire(long timeout, TimeUnit unit) {
+     return tryAcquire(1, timeout, unit);
+   }
+ 
+   /**
+    * Acquires permits from this {@link RateLimiter} if it can be acquired immediately without delay.
+    *
+    * <p>This method is equivalent to {@code tryAcquire(permits, 0, anyUnit)}.
+    *
+    * @param permits the number of permits to acquire
+    * @return {@code true} if the permits were acquired, {@code false} otherwise
+    * @throws IllegalArgumentException if the requested number of permits is negative or zero
+    * @since 14.0
+    */
+   public boolean tryAcquire(int permits) {
+     return tryAcquire(permits, 0, MICROSECONDS);
+   }
+ 
+   /**
+    * Acquires a permit from this {@link RateLimiter} if it can be acquired immediately without
+    * delay.
+    *
+    * <p>This method is equivalent to {@code tryAcquire(1)}.
+    *
+    * @return {@code true} if the permit was acquired, {@code false} otherwise
+    * @since 14.0
+    */
+   public boolean tryAcquire() {
+     return tryAcquire(1, 0, MICROSECONDS);
+   }
+ 
+   /**
+    * Acquires the given number of permits from this {@code RateLimiter} if it can be obtained
+    * without exceeding the specified {@code timeout}, or returns {@code false} immediately (without
+    * waiting) if the permits would not have been granted before the timeout expired.
+    *
+    * @param permits the number of permits to acquire
+    * @param timeout the maximum time to wait for the permits. Negative values are treated as zero.
+    * @param unit the time unit of the timeout argument
+    * @return {@code true} if the permits were acquired, {@code false} otherwise
+    * @throws IllegalArgumentException if the requested number of permits is negative or zero
+    */
+   public boolean tryAcquire(int permits, long timeout, TimeUnit unit) {
+     long timeoutMicros = max(unit.toMicros(timeout), 0);
+     checkPermits(permits);
+     long microsToWait;
+     synchronized (mutex()) {
+       long nowMicros = stopwatch.readMicros();
+       if (!canAcquire(nowMicros, timeoutMicros)) {
+         return false;
+       } else {
+         microsToWait = reserveAndGetWaitLength(permits, nowMicros);
+       }
+     }
+     stopwatch.sleepMicrosUninterruptibly(microsToWait);
+     return true;
+   }
+ 
+   private boolean canAcquire(long nowMicros, long timeoutMicros) {
+     return queryEarliestAvailable(nowMicros) - timeoutMicros <= nowMicros;
+   }
+ 
+   /**
+    * Reserves next ticket and returns the wait time that the caller must wait for.
+    *
+    * @return the required wait time, never negative
+    */
+   final long reserveAndGetWaitLength(int permits, long nowMicros) {
+     long momentAvailable = reserveEarliestAvailable(permits, nowMicros);
+     return max(momentAvailable - nowMicros, 0);
+   }
+ 
+   /**
+    * Returns the earliest time that permits are available (with one caveat).
+    *
+    * @return the time that permits are available, or, if permits are available immediately, an
+    *     arbitrary past or present time
+    */
+   abstract long queryEarliestAvailable(long nowMicros);
+ 
+   /**
+    * Reserves the requested number of permits and returns the time that those permits can be used
+    * (with one caveat).
+    *
+    * @return the time that the permits may be used, or, if the permits may be used immediately, an
+    *     arbitrary past or present time
+    */
+   abstract long reserveEarliestAvailable(int permits, long nowMicros);
+ 
+   @Override
+   public String toString() {
+     return String.format(Locale.ROOT, "RateLimiter[stableRate=%3.1fqps]", getRate());
+   }
+ 
+   abstract static class SleepingStopwatch {
+     /** Constructor for use by subclasses. */
+     protected SleepingStopwatch() {}
+ 
+     /*
+      * We always hold the mutex when calling this.
+      */
+     protected abstract long readMicros();
+ 
+     protected abstract void sleepMicrosUninterruptibly(long micros);
+ 
+     public static SleepingStopwatch createFromSystemTimer() {
+       return new SleepingStopwatch() {
+         final Stopwatch stopwatch = Stopwatch.createStarted();
+ 
+         @Override
+         protected long readMicros() {
+           return stopwatch.elapsed(MICROSECONDS);
+         }
+ 
+         @Override
+         protected void sleepMicrosUninterruptibly(long micros) {
+           if (micros > 0) {
+             sleepUninterruptibly(micros, MICROSECONDS);
+           }
+         }
+       };
+     }
+   }
+ 
+   private static void checkPermits(int permits) {
+     checkArgument(permits > 0, "Requested permits (%s) must be positive", permits);
+   }
+ 
+   /** Invokes {@code unit.}{@link TimeUnit#sleep(long) sleep(sleepFor)} uninterruptibly. */
+   private static void sleepUninterruptibly(long sleepFor, TimeUnit unit) {
+     boolean interrupted = false;
+     try {
+       long remainingNanos = unit.toNanos(sleepFor);
+       long end = System.nanoTime() + remainingNanos;
+       while (true) {
+         try {
+           // TimeUnit.sleep() treats negative timeouts just like zero.
+           NANOSECONDS.sleep(remainingNanos);
+           return;
+         } catch (InterruptedException e) {
+           interrupted = true;
+           remainingNanos = end - System.nanoTime();
+         }
+       }
+     } finally {
+       if (interrupted) {
+         Thread.currentThread().interrupt();
+       }
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-5.html b/CodeCoverageReport/ns-5/sources/source-5.html new file mode 100644 index 000000000..0d65328da --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-5.html @@ -0,0 +1,589 @@ + + + + + + + + Coverage Report > SmoothRateLimiter + + + + + + +
+ + +

Coverage Summary for Class: SmoothRateLimiter (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
SmoothRateLimiter + + 71.4% + + + (5/7) + + + + 100% + + + (2/2) + + + + 92% + + + (23/25) + +
SmoothRateLimiter$1
SmoothRateLimiter$SmoothBursty + + 0% + + + (0/4) + + + + 0% + + + (0/4) + + + + 0% + + + (0/14) + +
SmoothRateLimiter$SmoothWarmingUp + + 100% + + + (5/5) + + + + 83.3% + + + (5/6) + + + + 96.6% + + + (28/29) + +
Total + + 62.5% + + + (10/16) + + + + 58.3% + + + (7/12) + + + + 75% + + + (51/68) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2012 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ import static java.lang.Math.min;
+ import static java.util.concurrent.TimeUnit.SECONDS;
+ 
+ import java.util.concurrent.TimeUnit;
+ 
+ abstract class SmoothRateLimiter extends RateLimiter {
+   /*
+    * How is the RateLimiter designed, and why?
+    *
+    * The primary feature of a RateLimiter is its "stable rate", the maximum rate that is should
+    * allow at normal conditions. This is enforced by "throttling" incoming requests as needed, i.e.
+    * compute, for an incoming request, the appropriate throttle time, and make the calling thread
+    * wait as much.
+    *
+    * The simplest way to maintain a rate of QPS is to keep the timestamp of the last granted
+    * request, and ensure that (1/QPS) seconds have elapsed since then. For example, for a rate of
+    * QPS=5 (5 tokens per second), if we ensure that a request isn't granted earlier than 200ms after
+    * the last one, then we achieve the intended rate. If a request comes and the last request was
+    * granted only 100ms ago, then we wait for another 100ms. At this rate, serving 15 fresh permits
+    * (i.e. for an acquire(15) request) naturally takes 3 seconds.
+    *
+    * It is important to realize that such a RateLimiter has a very superficial memory of the past:
+    * it only remembers the last request. What if the RateLimiter was unused for a long period of
+    * time, then a request arrived and was immediately granted? This RateLimiter would immediately
+    * forget about that past underutilization. This may result in either underutilization or
+    * overflow, depending on the real world consequences of not using the expected rate.
+    *
+    * Past underutilization could mean that excess resources are available. Then, the RateLimiter
+    * should speed up for a while, to take advantage of these resources. This is important when the
+    * rate is applied to networking (limiting bandwidth), where past underutilization typically
+    * translates to "almost empty buffers", which can be filled immediately.
+    *
+    * On the other hand, past underutilization could mean that "the server responsible for handling
+    * the request has become less ready for future requests", i.e. its caches become stale, and
+    * requests become more likely to trigger expensive operations (a more extreme case of this
+    * example is when a server has just booted, and it is mostly busy with getting itself up to
+    * speed).
+    *
+    * To deal with such scenarios, we add an extra dimension, that of "past underutilization",
+    * modeled by "storedPermits" variable. This variable is zero when there is no underutilization,
+    * and it can grow up to maxStoredPermits, for sufficiently large underutilization. So, the
+    * requested permits, by an invocation acquire(permits), are served from:
+    *
+    * - stored permits (if available)
+    *
+    * - fresh permits (for any remaining permits)
+    *
+    * How this works is best explained with an example:
+    *
+    * For a RateLimiter that produces 1 token per second, every second that goes by with the
+    * RateLimiter being unused, we increase storedPermits by 1. Say we leave the RateLimiter unused
+    * for 10 seconds (i.e., we expected a request at time X, but we are at time X + 10 seconds before
+    * a request actually arrives; this is also related to the point made in the last paragraph), thus
+    * storedPermits becomes 10.0 (assuming maxStoredPermits >= 10.0). At that point, a request of
+    * acquire(3) arrives. We serve this request out of storedPermits, and reduce that to 7.0 (how
+    * this is translated to throttling time is discussed later). Immediately after, assume that an
+    * acquire(10) request arriving. We serve the request partly from storedPermits, using all the
+    * remaining 7.0 permits, and the remaining 3.0, we serve them by fresh permits produced by the
+    * rate limiter.
+    *
+    * We already know how much time it takes to serve 3 fresh permits: if the rate is
+    * "1 token per second", then this will take 3 seconds. But what does it mean to serve 7 stored
+    * permits? As explained above, there is no unique answer. If we are primarily interested to deal
+    * with underutilization, then we want stored permits to be given out /faster/ than fresh ones,
+    * because underutilization = free resources for the taking. If we are primarily interested to
+    * deal with overflow, then stored permits could be given out /slower/ than fresh ones. Thus, we
+    * require a (different in each case) function that translates storedPermits to throtting time.
+    *
+    * This role is played by storedPermitsToWaitTime(double storedPermits, double permitsToTake). The
+    * underlying model is a continuous function mapping storedPermits (from 0.0 to maxStoredPermits)
+    * onto the 1/rate (i.e. intervals) that is effective at the given storedPermits. "storedPermits"
+    * essentially measure unused time; we spend unused time buying/storing permits. Rate is
+    * "permits / time", thus "1 / rate = time / permits". Thus, "1/rate" (time / permits) times
+    * "permits" gives time, i.e., integrals on this function (which is what storedPermitsToWaitTime()
+    * computes) correspond to minimum intervals between subsequent requests, for the specified number
+    * of requested permits.
+    *
+    * Here is an example of storedPermitsToWaitTime: If storedPermits == 10.0, and we want 3 permits,
+    * we take them from storedPermits, reducing them to 7.0, and compute the throttling for these as
+    * a call to storedPermitsToWaitTime(storedPermits = 10.0, permitsToTake = 3.0), which will
+    * evaluate the integral of the function from 7.0 to 10.0.
+    *
+    * Using integrals guarantees that the effect of a single acquire(3) is equivalent to {
+    * acquire(1); acquire(1); acquire(1); }, or { acquire(2); acquire(1); }, etc, since the integral
+    * of the function in [7.0, 10.0] is equivalent to the sum of the integrals of [7.0, 8.0], [8.0,
+    * 9.0], [9.0, 10.0] (and so on), no matter what the function is. This guarantees that we handle
+    * correctly requests of varying weight (permits), /no matter/ what the actual function is - so we
+    * can tweak the latter freely. (The only requirement, obviously, is that we can compute its
+    * integrals).
+    *
+    * Note well that if, for this function, we chose a horizontal line, at height of exactly (1/QPS),
+    * then the effect of the function is non-existent: we serve storedPermits at exactly the same
+    * cost as fresh ones (1/QPS is the cost for each). We use this trick later.
+    *
+    * If we pick a function that goes /below/ that horizontal line, it means that we reduce the area
+    * of the function, thus time. Thus, the RateLimiter becomes /faster/ after a period of
+    * underutilization. If, on the other hand, we pick a function that goes /above/ that horizontal
+    * line, then it means that the area (time) is increased, thus storedPermits are more costly than
+    * fresh permits, thus the RateLimiter becomes /slower/ after a period of underutilization.
+    *
+    * Last, but not least: consider a RateLimiter with rate of 1 permit per second, currently
+    * completely unused, and an expensive acquire(100) request comes. It would be nonsensical to just
+    * wait for 100 seconds, and /then/ start the actual task. Why wait without doing anything? A much
+    * better approach is to /allow/ the request right away (as if it was an acquire(1) request
+    * instead), and postpone /subsequent/ requests as needed. In this version, we allow starting the
+    * task immediately, and postpone by 100 seconds future requests, thus we allow for work to get
+    * done in the meantime instead of waiting idly.
+    *
+    * This has important consequences: it means that the RateLimiter doesn't remember the time of the
+    * _last_ request, but it remembers the (expected) time of the _next_ request. This also enables
+    * us to tell immediately (see tryAcquire(timeout)) whether a particular timeout is enough to get
+    * us to the point of the next scheduling time, since we always maintain that. And what we mean by
+    * "an unused RateLimiter" is also defined by that notion: when we observe that the
+    * "expected arrival time of the next request" is actually in the past, then the difference (now -
+    * past) is the amount of time that the RateLimiter was formally unused, and it is that amount of
+    * time which we translate to storedPermits. (We increase storedPermits with the amount of permits
+    * that would have been produced in that idle time). So, if rate == 1 permit per second, and
+    * arrivals come exactly one second after the previous, then storedPermits is _never_ increased --
+    * we would only increase it for arrivals _later_ than the expected one second.
+    */
+ 
+   /**
+    * This implements the following function where coldInterval = coldFactor * stableInterval.
+    *
+    * <pre>
+    *          ^ throttling
+    *          |
+    *    cold  +                  /
+    * interval |                 /.
+    *          |                / .
+    *          |               /  .   ? "warmup period" is the area of the trapezoid between
+    *          |              /   .     thresholdPermits and maxPermits
+    *          |             /    .
+    *          |            /     .
+    *          |           /      .
+    *   stable +----------/  WARM .
+    * interval |          .   UP  .
+    *          |          . PERIOD.
+    *          |          .       .
+    *        0 +----------+-------+--------------? storedPermits
+    *          0 thresholdPermits maxPermits
+    * </pre>
+    *
+    * Before going into the details of this particular function, let's keep in mind the basics:
+    *
+    * <ol>
+    *   <li>The state of the RateLimiter (storedPermits) is a vertical line in this figure.
+    *   <li>When the RateLimiter is not used, this goes right (up to maxPermits)
+    *   <li>When the RateLimiter is used, this goes left (down to zero), since if we have
+    *       storedPermits, we serve from those first
+    *   <li>When _unused_, we go right at a constant rate! The rate at which we move to the right is
+    *       chosen as maxPermits / warmupPeriod. This ensures that the time it takes to go from 0 to
+    *       maxPermits is equal to warmupPeriod.
+    *   <li>When _used_, the time it takes, as explained in the introductory class note, is equal to
+    *       the integral of our function, between X permits and X-K permits, assuming we want to
+    *       spend K saved permits.
+    * </ol>
+    *
+    * <p>In summary, the time it takes to move to the left (spend K permits), is equal to the area of
+    * the function of width == K.
+    *
+    * <p>Assuming we have saturated demand, the time to go from maxPermits to thresholdPermits is
+    * equal to warmupPeriod. And the time to go from thresholdPermits to 0 is warmupPeriod/2. (The
+    * reason that this is warmupPeriod/2 is to maintain the behavior of the original implementation
+    * where coldFactor was hard coded as 3.)
+    *
+    * <p>It remains to calculate thresholdsPermits and maxPermits.
+    *
+    * <ul>
+    *   <li>The time to go from thresholdPermits to 0 is equal to the integral of the function
+    *       between 0 and thresholdPermits. This is thresholdPermits * stableIntervals. By (5) it is
+    *       also equal to warmupPeriod/2. Therefore
+    *       <blockquote>
+    *       thresholdPermits = 0.5 * warmupPeriod / stableInterval
+    *       </blockquote>
+    *   <li>The time to go from maxPermits to thresholdPermits is equal to the integral of the
+    *       function between thresholdPermits and maxPermits. This is the area of the pictured
+    *       trapezoid, and it is equal to 0.5 * (stableInterval + coldInterval) * (maxPermits -
+    *       thresholdPermits). It is also equal to warmupPeriod, so
+    *       <blockquote>
+    *       maxPermits = thresholdPermits + 2 * warmupPeriod / (stableInterval + coldInterval)
+    *       </blockquote>
+    * </ul>
+    */
+   static final class SmoothWarmingUp extends SmoothRateLimiter {
+     private final long warmupPeriodMicros;
+     /**
+      * The slope of the line from the stable interval (when permits == 0), to the cold interval
+      * (when permits == maxPermits)
+      */
+     private double slope;
+ 
+     private double thresholdPermits;
+     private double coldFactor;
+ 
+     SmoothWarmingUp(
+         SleepingStopwatch stopwatch, long warmupPeriod, TimeUnit timeUnit, double coldFactor) {
+       super(stopwatch);
+       this.warmupPeriodMicros = timeUnit.toMicros(warmupPeriod);
+       this.coldFactor = coldFactor;
+     }
+ 
+     @Override
+     void doSetRate(double permitsPerSecond, double stableIntervalMicros) {
+       double oldMaxPermits = maxPermits;
+       double coldIntervalMicros = stableIntervalMicros * coldFactor;
+       thresholdPermits = 0.5 * warmupPeriodMicros / stableIntervalMicros;
+       maxPermits =
+           thresholdPermits + 2.0 * warmupPeriodMicros / (stableIntervalMicros + coldIntervalMicros);
+       slope = (coldIntervalMicros - stableIntervalMicros) / (maxPermits - thresholdPermits);
+       if (oldMaxPermits == Double.POSITIVE_INFINITY) {
+         // if we don't special-case this, we would get storedPermits == NaN, below
+         storedPermits = 0.0;
+       } else {
+         storedPermits =
+             (oldMaxPermits == 0.0)
+                 ? maxPermits // initial state is cold
+                 : storedPermits * maxPermits / oldMaxPermits;
+       }
+     }
+ 
+     @Override
+     long storedPermitsToWaitTime(double storedPermits, double permitsToTake) {
+       double availablePermitsAboveThreshold = storedPermits - thresholdPermits;
+       long micros = 0;
+       // measuring the integral on the right part of the function (the climbing line)
+       if (availablePermitsAboveThreshold > 0.0) {
+         double permitsAboveThresholdToTake = min(availablePermitsAboveThreshold, permitsToTake);
+         double length =
+             permitsToTime(availablePermitsAboveThreshold)
+                 + permitsToTime(availablePermitsAboveThreshold - permitsAboveThresholdToTake);
+         micros = (long) (permitsAboveThresholdToTake * length / 2.0);
+         permitsToTake -= permitsAboveThresholdToTake;
+       }
+       // measuring the integral on the left part of the function (the horizontal line)
+       micros += (long) (stableIntervalMicros * permitsToTake);
+       return micros;
+     }
+ 
+     private double permitsToTime(double permits) {
+       return stableIntervalMicros + permits * slope;
+     }
+ 
+     @Override
+     double coolDownIntervalMicros() {
+       return warmupPeriodMicros / maxPermits;
+     }
+   }
+ 
+   /**
+    * This implements a "bursty" RateLimiter, where storedPermits are translated to zero throttling.
+    * The maximum number of permits that can be saved (when the RateLimiter is unused) is defined in
+    * terms of time, in this sense: if a RateLimiter is 2qps, and this time is specified as 10
+    * seconds, we can save up to 2 * 10 = 20 permits.
+    */
+   static final class SmoothBursty extends SmoothRateLimiter {
+     /** The work (permits) of how many seconds can be saved up if this RateLimiter is unused? */
+     final double maxBurstSeconds;
+ 
+     SmoothBursty(SleepingStopwatch stopwatch, double maxBurstSeconds) {
+       super(stopwatch);
+       this.maxBurstSeconds = maxBurstSeconds;
+     }
+ 
+     @Override
+     void doSetRate(double permitsPerSecond, double stableIntervalMicros) {
+       double oldMaxPermits = this.maxPermits;
+       maxPermits = maxBurstSeconds * permitsPerSecond;
+       if (oldMaxPermits == Double.POSITIVE_INFINITY) {
+         // if we don't special-case this, we would get storedPermits == NaN, below
+         storedPermits = maxPermits;
+       } else {
+         storedPermits =
+             (oldMaxPermits == 0.0)
+                 ? 0.0 // initial state
+                 : storedPermits * maxPermits / oldMaxPermits;
+       }
+     }
+ 
+     @Override
+     long storedPermitsToWaitTime(double storedPermits, double permitsToTake) {
+       return 0L;
+     }
+ 
+     @Override
+     double coolDownIntervalMicros() {
+       return stableIntervalMicros;
+     }
+   }
+ 
+   /** The currently stored permits. */
+   double storedPermits;
+ 
+   /** The maximum number of stored permits. */
+   double maxPermits;
+ 
+   /**
+    * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits
+    * per second has a stable interval of 200ms.
+    */
+   double stableIntervalMicros;
+ 
+   /**
+    * The time when the next request (no matter its size) will be granted. After granting a request,
+    * this is pushed further in the future. Large requests push this further than small requests.
+    */
+   private long nextFreeTicketMicros = 0L; // could be either in the past or future
+ 
+   private SmoothRateLimiter(SleepingStopwatch stopwatch) {
+     super(stopwatch);
+   }
+ 
+   @Override
+   final void doSetRate(double permitsPerSecond, long nowMicros) {
+     resync(nowMicros);
+     double stableIntervalMicros = SECONDS.toMicros(1L) / permitsPerSecond;
+     this.stableIntervalMicros = stableIntervalMicros;
+     doSetRate(permitsPerSecond, stableIntervalMicros);
+   }
+ 
+   abstract void doSetRate(double permitsPerSecond, double stableIntervalMicros);
+ 
+   @Override
+   final double doGetRate() {
+     return SECONDS.toMicros(1L) / stableIntervalMicros;
+   }
+ 
+   @Override
+   final long queryEarliestAvailable(long nowMicros) {
+     return nextFreeTicketMicros;
+   }
+ 
+   @Override
+   final long reserveEarliestAvailable(int requiredPermits, long nowMicros) {
+     resync(nowMicros);
+     long returnValue = nextFreeTicketMicros;
+     double storedPermitsToSpend = min(requiredPermits, this.storedPermits);
+     double freshPermits = requiredPermits - storedPermitsToSpend;
+     long waitMicros =
+         storedPermitsToWaitTime(this.storedPermits, storedPermitsToSpend)
+             + (long) (freshPermits * stableIntervalMicros);
+ 
+     this.nextFreeTicketMicros = LongMath.saturatedAdd(nextFreeTicketMicros, waitMicros);
+     this.storedPermits -= storedPermitsToSpend;
+     return returnValue;
+   }
+ 
+   /**
+    * Translates a specified portion of our currently stored permits which we want to spend/acquire,
+    * into a throttling time. Conceptually, this evaluates the integral of the underlying function we
+    * use, for the range of [(storedPermits - permitsToTake), storedPermits].
+    *
+    * <p>This always holds: {@code 0 <= permitsToTake <= storedPermits}
+    */
+   abstract long storedPermitsToWaitTime(double storedPermits, double permitsToTake);
+ 
+   /**
+    * Returns the number of microseconds during cool down that we have to wait to get a new permit.
+    */
+   abstract double coolDownIntervalMicros();
+ 
+   /** Updates {@code storedPermits} and {@code nextFreeTicketMicros} based on the current time. */
+   void resync(long nowMicros) {
+     // if nextFreeTicket is in the past, resync to now
+     if (nowMicros > nextFreeTicketMicros) {
+       double newPermits = (nowMicros - nextFreeTicketMicros) / coolDownIntervalMicros();
+       storedPermits = min(maxPermits, storedPermits + newPermits);
+       nextFreeTicketMicros = nowMicros;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-6.html b/CodeCoverageReport/ns-5/sources/source-6.html new file mode 100644 index 000000000..57fe85caa --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-6.html @@ -0,0 +1,392 @@ + + + + + + + + Coverage Report > Stopwatch + + + + + + +
+ + +

Coverage Summary for Class: Stopwatch (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
Stopwatch + + 33.3% + + + (5/15) + + + + 8.7% + + + (2/23) + + + + 19.6% + + + (10/51) + +
Stopwatch$1 + + 0% + + + (0/1) + + + + 0% + + + (0/1) + +
Total + + 31.2% + + + (5/16) + + + + 8.7% + + + (2/23) + + + + 19.2% + + + (10/52) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2008 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull;
+ import static com.google.maps.internal.ratelimiter.Preconditions.checkState;
+ import static java.util.concurrent.TimeUnit.DAYS;
+ import static java.util.concurrent.TimeUnit.HOURS;
+ import static java.util.concurrent.TimeUnit.MICROSECONDS;
+ import static java.util.concurrent.TimeUnit.MILLISECONDS;
+ import static java.util.concurrent.TimeUnit.MINUTES;
+ import static java.util.concurrent.TimeUnit.NANOSECONDS;
+ import static java.util.concurrent.TimeUnit.SECONDS;
+ 
+ import java.util.concurrent.TimeUnit;
+ 
+ /**
+  * An object that measures elapsed time in nanoseconds. It is useful to measure elapsed time using
+  * this class instead of direct calls to {@link System#nanoTime} for a few reasons:
+  *
+  * <ul>
+  *   <li>An alternate time source can be substituted, for testing or performance reasons.
+  *   <li>As documented by {@code nanoTime}, the value returned has no absolute meaning, and can only
+  *       be interpreted as relative to another timestamp returned by {@code nanoTime} at a different
+  *       time. {@code Stopwatch} is a more effective abstraction because it exposes only these
+  *       relative values, not the absolute ones.
+  * </ul>
+  *
+  * <p>Basic usage:
+  *
+  * <pre>{@code
+  * Stopwatch stopwatch = Stopwatch.createStarted();
+  * doSomething();
+  * stopwatch.stop(); // optional
+  *
+  * long millis = stopwatch.elapsed(MILLISECONDS);
+  *
+  * log.info("time: " + stopwatch); // formatted string like "12.3 ms"
+  * }</pre>
+  *
+  * <p>Stopwatch methods are not idempotent; it is an error to start or stop a stopwatch that is
+  * already in the desired state.
+  *
+  * <p>When testing code that uses this class, use {@link #createUnstarted(Ticker)} or {@link
+  * #createStarted(Ticker)} to supply a fake or mock ticker. This allows you to simulate any valid
+  * behavior of the stopwatch.
+  *
+  * <p><b>Note:</b> This class is not thread-safe.
+  *
+  * <p><b>Warning for Android users:</b> a stopwatch with default behavior may not continue to keep
+  * time while the device is asleep. Instead, create one like this:
+  *
+  * <pre>{@code
+  * Stopwatch.createStarted(
+  *      new Ticker() {
+  *        public long read() {
+  *          return android.os.SystemClock.elapsedRealtimeNanos();
+  *        }
+  *      });
+  * }</pre>
+  *
+  * @author Kevin Bourrillion
+  */
+ public final class Stopwatch {
+   private final Ticker ticker;
+   private boolean isRunning;
+   private long elapsedNanos;
+   private long startTick;
+ 
+   /**
+    * Creates (but does not start) a new stopwatch using {@link System#nanoTime} as its time source.
+    */
+   public static Stopwatch createUnstarted() {
+     return new Stopwatch();
+   }
+ 
+   /** Creates (but does not start) a new stopwatch, using the specified time source. */
+   public static Stopwatch createUnstarted(Ticker ticker) {
+     return new Stopwatch(ticker);
+   }
+ 
+   /** Creates (and starts) a new stopwatch using {@link System#nanoTime} as its time source. */
+   public static Stopwatch createStarted() {
+     return new Stopwatch().start();
+   }
+ 
+   /** Creates (and starts) a new stopwatch, using the specified time source. */
+   public static Stopwatch createStarted(Ticker ticker) {
+     return new Stopwatch(ticker).start();
+   }
+ 
+   Stopwatch() {
+     this.ticker = Ticker.systemTicker();
+   }
+ 
+   Stopwatch(Ticker ticker) {
+     this.ticker = checkNotNull(ticker, "ticker");
+   }
+ 
+   /**
+    * Returns {@code true} if {@link #start()} has been called on this stopwatch, and {@link #stop()}
+    * has not been called since the last call to {@code start()}.
+    */
+   public boolean isRunning() {
+     return isRunning;
+   }
+ 
+   /**
+    * Starts the stopwatch.
+    *
+    * @return this {@code Stopwatch} instance
+    * @throws IllegalStateException if the stopwatch is already running.
+    */
+   public Stopwatch start() {
+     checkState(!isRunning, "This stopwatch is already running.");
+     isRunning = true;
+     startTick = ticker.read();
+     return this;
+   }
+ 
+   /**
+    * Stops the stopwatch. Future reads will return the fixed duration that had elapsed up to this
+    * point.
+    *
+    * @return this {@code Stopwatch} instance
+    * @throws IllegalStateException if the stopwatch is already stopped.
+    */
+   public Stopwatch stop() {
+     long tick = ticker.read();
+     checkState(isRunning, "This stopwatch is already stopped.");
+     isRunning = false;
+     elapsedNanos += tick - startTick;
+     return this;
+   }
+ 
+   /**
+    * Sets the elapsed time for this stopwatch to zero, and places it in a stopped state.
+    *
+    * @return this {@code Stopwatch} instance
+    */
+   public Stopwatch reset() {
+     elapsedNanos = 0;
+     isRunning = false;
+     return this;
+   }
+ 
+   private long elapsedNanos() {
+     return isRunning ? ticker.read() - startTick + elapsedNanos : elapsedNanos;
+   }
+ 
+   /**
+    * Returns the current elapsed time shown on this stopwatch, expressed in the desired time unit,
+    * with any fraction rounded down.
+    *
+    * <p>Note that the overhead of measurement can be more than a microsecond, so it is generally not
+    * useful to specify {@link TimeUnit#NANOSECONDS} precision here.
+    */
+   public long elapsed(TimeUnit desiredUnit) {
+     return desiredUnit.convert(elapsedNanos(), NANOSECONDS);
+   }
+ 
+   /** Returns a string representation of the current elapsed time. */
+   @Override
+   public String toString() {
+     long nanos = elapsedNanos();
+ 
+     TimeUnit unit = chooseUnit(nanos);
+     double value = (double) nanos / NANOSECONDS.convert(1, unit);
+ 
+     // Too bad this functionality is not exposed as a regular method call
+     return Platform.formatCompact4Digits(value) + " " + abbreviate(unit);
+   }
+ 
+   private static TimeUnit chooseUnit(long nanos) {
+     if (DAYS.convert(nanos, NANOSECONDS) > 0) {
+       return DAYS;
+     }
+     if (HOURS.convert(nanos, NANOSECONDS) > 0) {
+       return HOURS;
+     }
+     if (MINUTES.convert(nanos, NANOSECONDS) > 0) {
+       return MINUTES;
+     }
+     if (SECONDS.convert(nanos, NANOSECONDS) > 0) {
+       return SECONDS;
+     }
+     if (MILLISECONDS.convert(nanos, NANOSECONDS) > 0) {
+       return MILLISECONDS;
+     }
+     if (MICROSECONDS.convert(nanos, NANOSECONDS) > 0) {
+       return MICROSECONDS;
+     }
+     return NANOSECONDS;
+   }
+ 
+   private static String abbreviate(TimeUnit unit) {
+     switch (unit) {
+       case NANOSECONDS:
+         return "ns";
+       case MICROSECONDS:
+         return "\u03bcs"; // ?s
+       case MILLISECONDS:
+         return "ms";
+       case SECONDS:
+         return "s";
+       case MINUTES:
+         return "min";
+       case HOURS:
+         return "h";
+       case DAYS:
+         return "d";
+       default:
+         throw new AssertionError();
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-5/sources/source-7.html b/CodeCoverageReport/ns-5/sources/source-7.html new file mode 100644 index 000000000..5d9143d26 --- /dev/null +++ b/CodeCoverageReport/ns-5/sources/source-7.html @@ -0,0 +1,189 @@ + + + + + + + + Coverage Report > Ticker + + + + + + +
+ + +

Coverage Summary for Class: Ticker (com.google.maps.internal.ratelimiter)

+ + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Line, % +
Ticker + + 100% + + + (3/3) + + + + 100% + + + (3/3) + +
Ticker$1 + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
Total + + 100% + + + (5/5) + + + + 100% + + + (5/5) + +
+ +
+
+ + +
+ /*
+  * Copyright (C) 2011 The Guava Authors
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+  * in compliance with the License. You may obtain a copy of the License at
+  *
+  * http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under the License
+  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+  * or implied. See the License for the specific language governing permissions and limitations under
+  * the License.
+  */
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.internal.ratelimiter;
+ 
+ /**
+  * A time source; returns a time value representing the number of nanoseconds elapsed since some
+  * fixed but arbitrary point in time. Note that most users should use {@link Stopwatch} instead of
+  * interacting with this class directly.
+  *
+  * <p><b>Warning:</b> this interface can only be used to measure elapsed time, not wall time.
+  *
+  * @author Kevin Bourrillion
+  */
+ public abstract class Ticker {
+   /** Constructor for use by subclasses. */
+   protected Ticker() {}
+ 
+   /** Returns the number of nanoseconds elapsed since this ticker's fixed point of reference. */
+   public abstract long read();
+ 
+   /** A ticker that reads the current time using {@link System#nanoTime}. */
+   public static Ticker systemTicker() {
+     return SYSTEM_TICKER;
+   }
+ 
+   private static final Ticker SYSTEM_TICKER =
+       new Ticker() {
+         @Override
+         public long read() {
+           return Platform.systemNanoTime();
+         }
+       };
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index.html b/CodeCoverageReport/ns-6/index.html new file mode 100644 index 000000000..def0d5cd7 --- /dev/null +++ b/CodeCoverageReport/ns-6/index.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..a060349b0 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..9a4af81a2 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..b899f941f --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..38590c44b --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html new file mode 100644 index 000000000..e7e9b33d7 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..46c12d2d6 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..d1e5efa99 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..a84a32239 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..ed736d7a9 --- /dev/null +++ b/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,286 @@ + + + + + + Coverage Report > com.google.maps.metrics + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.metrics

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.metrics + + 100% + + + (9/9) + + + + 82.8% + + + (24/29) + + + + 83.3% + + + (5/6) + + + + 93.9% + + + (92/98) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (4/4) + +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
OpenCensusMetrics + + 100% + + + (5/5) + + + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (4/4) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-1.html b/CodeCoverageReport/ns-6/sources/source-1.html new file mode 100644 index 000000000..1e3c0148d --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-1.html @@ -0,0 +1,117 @@ + + + + + + + + Coverage Report > NoOpRequestMetrics + + + + + + +
+ + +

Coverage Summary for Class: NoOpRequestMetrics (com.google.maps.metrics)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
NoOpRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 100% + + + (4/4) + +
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ /** A no-op implementation that does nothing */
+ final class NoOpRequestMetrics implements RequestMetrics {
+ 
+   NoOpRequestMetrics(String requestName) {}
+ 
+   public void startNetwork() {}
+ 
+   public void endNetwork() {}
+ 
+   public void endRequest(Exception exception, int httpStatusCode, long retryCount) {}
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-2.html b/CodeCoverageReport/ns-6/sources/source-2.html new file mode 100644 index 000000000..62f0fcc5e --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-2.html @@ -0,0 +1,115 @@ + + + + + + + + Coverage Report > NoOpRequestMetricsReporter + + + + + + +
+ + +

Coverage Summary for Class: NoOpRequestMetricsReporter (com.google.maps.metrics)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
NoOpRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ /** A no-op implementation that does nothing */
+ public final class NoOpRequestMetricsReporter implements RequestMetricsReporter {
+ 
+   public NoOpRequestMetricsReporter() {}
+ 
+   public RequestMetrics newRequest(String requestName) {
+     return new NoOpRequestMetrics(requestName);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-3.html b/CodeCoverageReport/ns-6/sources/source-3.html new file mode 100644 index 000000000..4fce9a8f6 --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-3.html @@ -0,0 +1,335 @@ + + + + + + + + Coverage Report > OpenCensusMetrics + + + + + + +
+ + +

Coverage Summary for Class: OpenCensusMetrics (com.google.maps.metrics)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
OpenCensusMetrics + + 80% + + + (4/5) + + + + 100% + + + (2/2) + + + + 88.9% + + + (8/9) + +
OpenCensusMetrics$Aggregations + + 66.7% + + + (2/3) + + + + 92.9% + + + (13/14) + +
OpenCensusMetrics$Measures + + 50% + + + (1/2) + + + + 85.7% + + + (6/7) + +
OpenCensusMetrics$Tags + + 50% + + + (1/2) + + + + 75% + + + (3/4) + +
OpenCensusMetrics$Views + + 50% + + + (1/2) + + + + 94.7% + + + (18/19) + +
Total + + 64.3% + + + (9/14) + + + + 100% + + + (2/2) + + + + 90.6% + + + (48/53) + +
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ import io.opencensus.stats.Aggregation;
+ import io.opencensus.stats.Aggregation.Count;
+ import io.opencensus.stats.Aggregation.Distribution;
+ import io.opencensus.stats.BucketBoundaries;
+ import io.opencensus.stats.Measure.MeasureLong;
+ import io.opencensus.stats.Stats;
+ import io.opencensus.stats.View;
+ import io.opencensus.stats.ViewManager;
+ import io.opencensus.tags.TagKey;
+ import java.util.Arrays;
+ import java.util.Collections;
+ import java.util.List;
+ 
+ /*
+  * OpenCensus metrics which are measured for every request.
+  */
+ public final class OpenCensusMetrics {
+   private OpenCensusMetrics() {}
+ 
+   public static final class Tags {
+     private Tags() {}
+ 
+     public static final TagKey REQUEST_NAME = TagKey.create("request_name");
+     public static final TagKey HTTP_CODE = TagKey.create("http_code");
+     public static final TagKey API_STATUS = TagKey.create("api_status");
+   }
+ 
+   public static final class Measures {
+     private Measures() {}
+ 
+     public static final MeasureLong LATENCY =
+         MeasureLong.create(
+             "maps.googleapis.com/measure/client/latency",
+             "Total time between library method called and results returned",
+             "ms");
+ 
+     public static final MeasureLong NETWORK_LATENCY =
+         MeasureLong.create(
+             "maps.googleapis.com/measure/client/network_latency",
+             "Network time inside the library",
+             "ms");
+ 
+     public static final MeasureLong RETRY_COUNT =
+         MeasureLong.create(
+             "maps.googleapis.com/measure/client/retry_count",
+             "How many times any request was retried",
+             "1");
+   }
+ 
+   private static final class Aggregations {
+     private Aggregations() {}
+ 
+     private static final Aggregation COUNT = Count.create();
+ 
+     private static final Aggregation DISTRIBUTION_INTEGERS_10 =
+         Distribution.create(
+             BucketBoundaries.create(
+                 Arrays.asList(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0)));
+ 
+     // every bucket is ~25% bigger = 20 * 2^(N/3)
+     private static final Aggregation DISTRIBUTION_LATENCY =
+         Distribution.create(
+             BucketBoundaries.create(
+                 Arrays.asList(
+                     0.0, 20.0, 25.2, 31.7, 40.0, 50.4, 63.5, 80.0, 100.8, 127.0, 160.0, 201.6,
+                     254.0, 320.0, 403.2, 508.0, 640.0, 806.3, 1015.9, 1280.0, 1612.7, 2031.9,
+                     2560.0, 3225.4, 4063.7)));
+   }
+ 
+   public static final class Views {
+     private Views() {}
+ 
+     private static final List<TagKey> fields =
+         tags(Tags.REQUEST_NAME, Tags.HTTP_CODE, Tags.API_STATUS);
+ 
+     public static final View REQUEST_COUNT =
+         View.create(
+             View.Name.create("maps.googleapis.com/client/request_count"),
+             "Request counts",
+             Measures.LATENCY,
+             Aggregations.COUNT,
+             fields);
+ 
+     public static final View REQUEST_LATENCY =
+         View.create(
+             View.Name.create("maps.googleapis.com/client/request_latency"),
+             "Latency in msecs",
+             Measures.LATENCY,
+             Aggregations.DISTRIBUTION_LATENCY,
+             fields);
+ 
+     public static final View NETWORK_LATENCY =
+         View.create(
+             View.Name.create("maps.googleapis.com/client/network_latency"),
+             "Network latency in msecs (internal)",
+             Measures.NETWORK_LATENCY,
+             Aggregations.DISTRIBUTION_LATENCY,
+             fields);
+ 
+     public static final View RETRY_COUNT =
+         View.create(
+             View.Name.create("maps.googleapis.com/client/retry_count"),
+             "Retries per request",
+             Measures.RETRY_COUNT,
+             Aggregations.DISTRIBUTION_INTEGERS_10,
+             fields);
+   }
+ 
+   public static void registerAllViews() {
+     registerAllViews(Stats.getViewManager());
+   }
+ 
+   public static void registerAllViews(ViewManager viewManager) {
+     View[] views_to_register =
+         new View[] {
+           Views.REQUEST_COUNT, Views.REQUEST_LATENCY, Views.NETWORK_LATENCY, Views.RETRY_COUNT
+         };
+     for (View view : views_to_register) {
+       viewManager.registerView(view);
+     }
+   }
+ 
+   private static List<TagKey> tags(TagKey... items) {
+     return Collections.unmodifiableList(Arrays.asList(items));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-4.html b/CodeCoverageReport/ns-6/sources/source-4.html new file mode 100644 index 000000000..6b4936152 --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-4.html @@ -0,0 +1,191 @@ + + + + + + + + Coverage Report > OpenCensusRequestMetrics + + + + + + +
+ + +

Coverage Summary for Class: OpenCensusRequestMetrics (com.google.maps.metrics)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
OpenCensusRequestMetrics + + 100% + + + (1/1) + + + + 100% + + + (6/6) + + + + 75% + + + (3/4) + + + + 97.1% + + + (34/35) + +
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ import io.opencensus.stats.StatsRecorder;
+ import io.opencensus.tags.TagContext;
+ import io.opencensus.tags.TagValue;
+ import io.opencensus.tags.Tagger;
+ 
+ /** An OpenCensus logger that generates success and latency metrics. */
+ final class OpenCensusRequestMetrics implements RequestMetrics {
+   private final String requestName;
+   private final Tagger tagger;
+   private final StatsRecorder statsRecorder;
+ 
+   private long requestStart;
+   private long networkStart;
+   private long networkTime;
+   private boolean finished;
+ 
+   OpenCensusRequestMetrics(String requestName, Tagger tagger, StatsRecorder statsRecorder) {
+     this.requestName = requestName;
+     this.tagger = tagger;
+     this.statsRecorder = statsRecorder;
+     this.requestStart = milliTime();
+     this.networkStart = milliTime();
+     this.networkTime = 0;
+     this.finished = false;
+   }
+ 
+   @Override
+   public void startNetwork() {
+     this.networkStart = milliTime();
+   }
+ 
+   @Override
+   public void endNetwork() {
+     this.networkTime += milliTime() - this.networkStart;
+   }
+ 
+   @Override
+   public void endRequest(Exception exception, int httpStatusCode, long retryCount) {
+     // multiple endRequest are ignored
+     if (this.finished) {
+       return;
+     }
+     this.finished = true;
+     long requestTime = milliTime() - this.requestStart;
+ 
+     TagContext tagContext =
+         tagger
+             .currentBuilder()
+             .putLocal(OpenCensusMetrics.Tags.REQUEST_NAME, TagValue.create(requestName))
+             .putLocal(
+                 OpenCensusMetrics.Tags.HTTP_CODE, TagValue.create(Integer.toString(httpStatusCode)))
+             .putLocal(OpenCensusMetrics.Tags.API_STATUS, TagValue.create(exceptionName(exception)))
+             .build();
+     statsRecorder
+         .newMeasureMap()
+         .put(OpenCensusMetrics.Measures.LATENCY, requestTime)
+         .put(OpenCensusMetrics.Measures.NETWORK_LATENCY, this.networkTime)
+         .put(OpenCensusMetrics.Measures.RETRY_COUNT, retryCount)
+         .record(tagContext);
+   }
+ 
+   private String exceptionName(Exception exception) {
+     if (exception == null) {
+       return "";
+     } else {
+       return exception.getClass().getName();
+     }
+   }
+ 
+   private long milliTime() {
+     return System.currentTimeMillis();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-5.html b/CodeCoverageReport/ns-6/sources/source-5.html new file mode 100644 index 000000000..431d5ad4d --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-5.html @@ -0,0 +1,123 @@ + + + + + + + + Coverage Report > OpenCensusRequestMetricsReporter + + + + + + +
+ + +

Coverage Summary for Class: OpenCensusRequestMetricsReporter (com.google.maps.metrics)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
OpenCensusRequestMetricsReporter + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 100% + + + (4/4) + +
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ import io.opencensus.stats.Stats;
+ import io.opencensus.stats.StatsRecorder;
+ import io.opencensus.tags.Tagger;
+ import io.opencensus.tags.Tags;
+ 
+ /** An OpenCensus logger that generates success and latency metrics. */
+ public final class OpenCensusRequestMetricsReporter implements RequestMetricsReporter {
+   private static final Tagger tagger = Tags.getTagger();
+   private static final StatsRecorder statsRecorder = Stats.getStatsRecorder();
+ 
+   public OpenCensusRequestMetricsReporter() {}
+ 
+   @Override
+   public RequestMetrics newRequest(String requestName) {
+     return new OpenCensusRequestMetrics(requestName, tagger, statsRecorder);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-6.html b/CodeCoverageReport/ns-6/sources/source-6.html new file mode 100644 index 000000000..d597cbd07 --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-6.html @@ -0,0 +1,95 @@ + + + + + + + + Coverage Report > RequestMetrics + + + + + + +
+ + +

Coverage Summary for Class: RequestMetrics (com.google.maps.metrics)

+ + + + + + + + + +
Class
RequestMetrics
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ /**
+  * A type to report common metrics shared among all request types.
+  *
+  * <p>If a request retries, there will be multiple calls to all methods below. Ignore any endRequest
+  * after the first one. For example:
+  *
+  * <ol>
+  *   <li>constructor - request starts
+  *   <li>startNetwork / endNetwork - original request
+  *   <li>startNetwork / endNetwork - retried request
+  *   <li>endRequest - request finished (retry)
+  *   <li>endRequest - request finished (original)
+  * </ol>
+  *
+  * <p>The following metrics can be computed: Total queries, successful queries, total latency,
+  * network latency
+  */
+ public interface RequestMetrics {
+ 
+   void startNetwork();
+ 
+   void endNetwork();
+ 
+   void endRequest(Exception exception, int httpStatusCode, long retryCount);
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-6/sources/source-7.html b/CodeCoverageReport/ns-6/sources/source-7.html new file mode 100644 index 000000000..15e174e19 --- /dev/null +++ b/CodeCoverageReport/ns-6/sources/source-7.html @@ -0,0 +1,75 @@ + + + + + + + + Coverage Report > RequestMetricsReporter + + + + + + +
+ + +

Coverage Summary for Class: RequestMetricsReporter (com.google.maps.metrics)

+ + + + + + + + + +
Class
RequestMetricsReporter
+ +
+
+ + +
+ package com.google.maps.metrics;
+ 
+ /** A type to report common metrics shared among all request types. */
+ public interface RequestMetricsReporter {
+ 
+   RequestMetrics newRequest(String requestName);
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index.html b/CodeCoverageReport/ns-7/index.html new file mode 100644 index 000000000..4e6b0cc0a --- /dev/null +++ b/CodeCoverageReport/ns-7/index.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html new file mode 100644 index 000000000..d4c815b9d --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html new file mode 100644 index 000000000..64be6a3bb --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html new file mode 100644 index 000000000..82e587cd7 --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html new file mode 100644 index 000000000..1b6e30879 --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html new file mode 100644 index 000000000..044a813af --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html new file mode 100644 index 000000000..3c30ab52a --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html new file mode 100644 index 000000000..0fa85c88c --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html new file mode 100644 index 000000000..af24e99a4 --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html new file mode 100644 index 000000000..fe0794e09 --- /dev/null +++ b/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html @@ -0,0 +1,1931 @@ + + + + + + Coverage Report > com.google.maps.model + + + + + + +
+ + + +

Coverage Summary for Package: com.google.maps.model

+ + + + + + + + + + + + + + + +
Package + Class, % + + Method, % + + Branch, % + + Line, % +
com.google.maps.model + + 84.5% + + + (60/71) + + + + 76.1% + + + (150/197) + + + + 38.2% + + + (84/220) + + + + 79.8% + + + (783/981) + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class + Class, % + + Method, % + + Branch, % + + Line, % +
WifiAccessPoint + + 100% + + + (2/2) + + + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (19/19) + +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 80% + + + (4/5) + +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 87.5% + + + (7/8) + +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + + 100% + + + (6/6) + +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + + 66.7% + + + (2/3) + +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (3/3) + +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + + 71.4% + + + (5/7) + +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (8/8) + +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (109/109) + +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
PlaceDetails + + 60% + + + (3/5) + + + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (11/11) + +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
OpeningHours + + 80% + + + (4/5) + + + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
GeolocationPayload + + 100% + + + (2/2) + + + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (3/3) + +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + + 0% + + + (0/2) + +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + + 91.7% + + + (11/12) + +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (4/4) + +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (7/7) + +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + + 50% + + + (1/2) + +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + + 100% + + + (1/1) + +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + + 81.8% + + + (9/11) + +
CellTower + + 100% + + + (2/2) + + + + 92.3% + + + (12/13) + + + + + 95.2% + + + (40/42) + +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + + 100% + + + (2/2) + +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
AutocompletePrediction + + 100% + + + (3/3) + + + + 100% + + + (6/6) + + + + + 100% + + + (10/10) + +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + + 100% + + + (86/86) + +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
+ +
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1.html b/CodeCoverageReport/ns-7/sources/source-1.html new file mode 100644 index 000000000..a3a10b629 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1.html @@ -0,0 +1,174 @@ + + + + + + + + Coverage Report > AddressComponent + + + + + + +
+ + +

Coverage Summary for Class: AddressComponent (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
AddressComponent + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The parts of an address.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address
+  * Types and Address Component Types</a> in the <a
+  * href="https://developers.google.com/maps/documentation/geocoding/intro">Google Maps Geocoding API
+  * Developer's Guide</a> for more detail.
+  */
+ public class AddressComponent implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The full text description or name of the address component as returned by the Geocoder. */
+   public String longName;
+ 
+   /**
+    * An abbreviated textual name for the address component, if available. For example, an address
+    * component for the state of Alaska may have a longName of "Alaska" and a shortName of "AK" using
+    * the 2-letter postal abbreviation.
+    */
+   public String shortName;
+ 
+   /** Indicates the type of each part of the address. Examples include street number or country. */
+   public AddressComponentType[] types;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[AddressComponent: ");
+     sb.append("\"").append(longName).append("\"");
+     if (shortName != null) {
+       sb.append(" (\"").append(shortName).append("\")");
+     }
+     sb.append(" (").append(join(", ", (Object[]) types)).append(")");
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-10.html b/CodeCoverageReport/ns-7/sources/source-10.html new file mode 100644 index 000000000..c012eecba --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-10.html @@ -0,0 +1,138 @@ + + + + + + + + Coverage Report > DistanceMatrixElementStatus + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrixElementStatus (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
DistanceMatrixElementStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (4/4) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ /**
+  * The status result for a single {@link com.google.maps.model.DistanceMatrixElement}.
+  *
+  * @see <a
+  *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#StatusCodes">
+  *     Documentation on status codes</a>
+  */
+ public enum DistanceMatrixElementStatus {
+   /** Indicates that the response contains a valid result. */
+   OK,
+ 
+   /** Indicates that the origin and/or destination of this pairing could not be geocoded. */
+   NOT_FOUND,
+ 
+   /** Indicates that no route could be found between the origin and destination. */
+   ZERO_RESULTS
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-11.html b/CodeCoverageReport/ns-7/sources/source-11.html new file mode 100644 index 000000000..990a8517e --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-11.html @@ -0,0 +1,139 @@ + + + + + + + + Coverage Report > DistanceMatrixRow + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrixRow (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
DistanceMatrixRow + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * Represents a single row in a Distance Matrix API response. A row represents the results for a
+  * single origin.
+  */
+ public class DistanceMatrixRow implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The results for this row, or individual origin. */
+   public DistanceMatrixElement[] elements;
+ 
+   @Override
+   public String toString() {
+     return String.format("[DistanceMatrixRow %d elements]", elements.length);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-12.html b/CodeCoverageReport/ns-7/sources/source-12.html new file mode 100644 index 000000000..f199e458b --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-12.html @@ -0,0 +1,142 @@ + + + + + + + + Coverage Report > Duration + + + + + + +
+ + +

Coverage Summary for Class: Duration (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Duration + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (1/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** The duration component for Directions API results. */
+ public class Duration implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * The numeric duration, in seconds. This is intended to be used only in algorithmic situations,
+    * e.g. sorting results by some user specified metric.
+    */
+   public long inSeconds;
+ 
+   /** The human-friendly duration. Use this for display purposes. */
+   public String humanReadable;
+ 
+   @Override
+   public String toString() {
+     return humanReadable;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-13.html b/CodeCoverageReport/ns-7/sources/source-13.html new file mode 100644 index 000000000..cc41a61c0 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-13.html @@ -0,0 +1,144 @@ + + + + + + + + Coverage Report > ElevationResult + + + + + + +
+ + +

Coverage Summary for Class: ElevationResult (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
ElevationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * An Elevation API result.
+  *
+  * <p>Units are in meters, per https://developers.google.com/maps/documentation/elevation/start.
+  */
+ public class ElevationResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** Elevation in meters. */
+   public double elevation;
+   /** Location of the elevation data. */
+   public LatLng location;
+   /** Maximum distance between data points from which the elevation was interpolated, in meters. */
+   public double resolution;
+ 
+   @Override
+   public String toString() {
+     return String.format("(%s, %f m, resolution=%f m)", location, elevation, resolution);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-14.html b/CodeCoverageReport/ns-7/sources/source-14.html new file mode 100644 index 000000000..25b2572f1 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-14.html @@ -0,0 +1,168 @@ + + + + + + + + Coverage Report > EncodedPolyline + + + + + + +
+ + +

Coverage Summary for Class: EncodedPolyline (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
EncodedPolyline + + 100% + + + (1/1) + + + + 83.3% + + + (5/6) + + + + 91.7% + + + (11/12) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.PolylineEncoding;
+ import java.io.Serializable;
+ import java.util.List;
+ 
+ /**
+  * Encoded Polylines are used by the API to represent paths.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/utilities/polylinealgorithm">
+  * Encoded Polyline Algorithm</a> for more detail on the protocol.
+  */
+ public class EncodedPolyline implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   private final String points;
+ 
+   public EncodedPolyline() {
+     this.points = null;
+   }
+ 
+   /**
+    * @param encodedPoints A string representation of a path, encoded with the Polyline Algorithm.
+    */
+   public EncodedPolyline(String encodedPoints) {
+     this.points = encodedPoints;
+   }
+ 
+   /** @param points A path as a collection of {@code LatLng} points. */
+   public EncodedPolyline(List<LatLng> points) {
+     this.points = PolylineEncoding.encode(points);
+   }
+ 
+   public String getEncodedPath() {
+     return points;
+   }
+ 
+   public List<LatLng> decodePath() {
+     return PolylineEncoding.decode(points);
+   }
+ 
+   // Use the encoded point representation; decoding to get an alternate representation for
+   // individual points would be expensive.
+   @Override
+   public String toString() {
+     return String.format("[EncodedPolyline: %s]", points);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-15.html b/CodeCoverageReport/ns-7/sources/source-15.html new file mode 100644 index 000000000..822931ddd --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-15.html @@ -0,0 +1,146 @@ + + + + + + + + Coverage Report > Fare + + + + + + +
+ + +

Coverage Summary for Class: Fare (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Fare + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.math.BigDecimal;
+ import java.util.Currency;
+ 
+ /**
+  * A representation of ticket cost for use on public transit.
+  *
+  * <p>See the <a href="https://developers.google.com/maps/documentation/directions/intro#Routes">
+  * Routes Documentation</a> for more detail.
+  */
+ public class Fare implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The currency that the amount is expressed in. */
+   public Currency currency;
+ 
+   /** The total fare amount, in the currency specified in {@link #currency}. */
+   public BigDecimal value;
+ 
+   @Override
+   public String toString() {
+     return String.format("%s %s", value, currency);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-16.html b/CodeCoverageReport/ns-7/sources/source-16.html new file mode 100644 index 000000000..9a3f5712f --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-16.html @@ -0,0 +1,134 @@ + + + + + + + + Coverage Report > FindPlaceFromText + + + + + + +
+ + +

Coverage Summary for Class: FindPlaceFromText (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
FindPlaceFromText + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (1/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ public class FindPlaceFromText implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   public PlacesSearchResult candidates[];
+ 
+   @Override
+   public String toString() {
+     return String.format("[FindPlaceFromText %d candidates]", candidates.length);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-17.html b/CodeCoverageReport/ns-7/sources/source-17.html new file mode 100644 index 000000000..ab3412c44 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-17.html @@ -0,0 +1,173 @@ + + + + + + + + Coverage Report > GeocodedWaypoint + + + + + + +
+ + +

Coverage Summary for Class: GeocodedWaypoint (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GeocodedWaypoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 87.5% + + + (7/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.util.Arrays;
+ 
+ /**
+  * A point in a Directions API response; either the origin, one of the requested waypoints, or the
+  * destination. Please see <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#GeocodedWaypoints">
+  * Geocoded Waypoints</a> for more detail.
+  */
+ public class GeocodedWaypoint implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The status code resulting from the geocoding operation for this waypoint. */
+   public GeocodedWaypointStatus geocoderStatus;
+ 
+   /**
+    * Indicates that the geocoder did not return an exact match for the original request, though it
+    * was able to match part of the requested address.
+    */
+   public boolean partialMatch;
+ 
+   /** A unique identifier for this waypoint that can be used with other Google APIs. */
+   public String placeId;
+ 
+   /** The address types of the geocoding result used for calculating directions. */
+   public AddressType types[];
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[GeocodedWaypoint");
+     sb.append(" ").append(geocoderStatus);
+     if (partialMatch) {
+       sb.append(" ").append("PARTIAL MATCH");
+     }
+     sb.append(" placeId=").append(placeId);
+     sb.append(", types=").append(Arrays.toString(types));
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-18.html b/CodeCoverageReport/ns-7/sources/source-18.html new file mode 100644 index 000000000..aef905ed7 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-18.html @@ -0,0 +1,134 @@ + + + + + + + + Coverage Report > GeocodedWaypointStatus + + + + + + +
+ + +

Coverage Summary for Class: GeocodedWaypointStatus (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
GeocodedWaypointStatus + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (3/3) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ /**
+  * The status result for a single {@link com.google.maps.model.GeocodedWaypoint}.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
+  *     Documentation on status codes</a>
+  */
+ public enum GeocodedWaypointStatus {
+   /** Indicates the response contains a valid result. */
+   OK,
+ 
+   /** Indicates no route could be found between the origin and destination. */
+   ZERO_RESULTS
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-19.html b/CodeCoverageReport/ns-7/sources/source-19.html new file mode 100644 index 000000000..f08ceb7f5 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-19.html @@ -0,0 +1,212 @@ + + + + + + + + Coverage Report > GeocodingResult + + + + + + +
+ + +

Coverage Summary for Class: GeocodingResult (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
GeocodingResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (3/6) + + + + 92.3% + + + (12/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.util.Arrays;
+ 
+ /** A result from a Geocoding API call. */
+ public class GeocodingResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The separate address components in this result. */
+   public AddressComponent[] addressComponents;
+ 
+   /**
+    * The human-readable address of this location.
+    *
+    * <p>Often this address is equivalent to the "postal address," which sometimes differs from
+    * country to country. (Note that some countries, such as the United Kingdom, do not allow
+    * distribution of true postal addresses due to licensing restrictions.) This address is generally
+    * composed of one or more address components. For example, the address "111 8th Avenue, New York,
+    * NY" contains separate address components for "111" (the street number, "8th Avenue" (the
+    * route), "New York" (the city) and "NY" (the US state). These address components contain
+    * additional information.
+    */
+   public String formattedAddress;
+ 
+   /**
+    * All the localities contained in a postal code. This is only present when the result is a postal
+    * code that contains multiple localities.
+    */
+   public String[] postcodeLocalities;
+ 
+   /** Location information for this result. */
+   public Geometry geometry;
+ 
+   /**
+    * The types of the returned result. This array contains a set of zero or more tags identifying
+    * the type of feature returned in the result. For example, a geocode of "Chicago" returns
+    * "locality" which indicates that "Chicago" is a city, and also returns "political" which
+    * indicates it is a political entity.
+    */
+   public AddressType[] types;
+ 
+   /**
+    * Indicates that the geocoder did not return an exact match for the original request, though it
+    * was able to match part of the requested address. You may wish to examine the original request
+    * for misspellings and/or an incomplete address.
+    *
+    * <p>Partial matches most often occur for street addresses that do not exist within the locality
+    * you pass in the request. Partial matches may also be returned when a request matches two or
+    * more locations in the same locality. For example, "21 Henr St, Bristol, UK" will return a
+    * partial match for both Henry Street and Henrietta Street. Note that if a request includes a
+    * misspelled address component, the geocoding service may suggest an alternate address.
+    * Suggestions triggered in this way will not be marked as a partial match.
+    */
+   public boolean partialMatch;
+ 
+   /** A unique identifier for this place. */
+   public String placeId;
+ 
+   /** The Plus Code identifier for this place. */
+   public PlusCode plusCode;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[GeocodingResult");
+     if (partialMatch) {
+       sb.append(" PARTIAL MATCH");
+     }
+     sb.append(" placeId=").append(placeId);
+     sb.append(" ").append(geometry);
+     sb.append(", formattedAddress=").append(formattedAddress);
+     sb.append(", types=").append(Arrays.toString(types));
+     sb.append(", addressComponents=").append(Arrays.toString(addressComponents));
+     if (postcodeLocalities != null && postcodeLocalities.length > 0) {
+       sb.append(", postcodeLocalities=").append(Arrays.toString(postcodeLocalities));
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1a.html b/CodeCoverageReport/ns-7/sources/source-1a.html new file mode 100644 index 000000000..86c3aee25 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1a.html @@ -0,0 +1,349 @@ + + + + + + + + Coverage Report > GeolocationPayload + + + + + + +
+ + +

Coverage Summary for Class: GeolocationPayload (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
GeolocationPayload + + 75% + + + (3/4) + + + + 0% + + + (0/16) + + + + 44.1% + + + (15/34) + +
GeolocationPayload$1
GeolocationPayload$GeolocationPayloadBuilder + + 90.9% + + + (10/11) + + + + 100% + + + (4/4) + + + + 93.9% + + + (31/33) + +
Total + + 86.7% + + + (13/15) + + + + 20% + + + (4/20) + + + + 68.7% + + + (46/67) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import java.io.Serializable;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ import java.util.List;
+ 
+ /**
+  * Request body.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/maps/documentation/geolocation/intro#requests">Geolocation
+  * Requests</a> and <a
+  * href="https://developers.google.com/maps/documentation/geolocation/intro#body">Request Body</a>
+  * for more detail.
+  *
+  * <p>The following fields are supported, and all fields are optional:
+  */
+ public class GeolocationPayload implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   public GeolocationPayload() {}
+ 
+   // constructor only used by the builder class below
+   private GeolocationPayload(
+       Integer _homeMobileCountryCode,
+       Integer _homeMobileNetworkCode,
+       String _radioType,
+       String _carrier,
+       Boolean _considerIp,
+       CellTower[] _cellTowers,
+       WifiAccessPoint[] _wifiAccessPoints) {
+     homeMobileCountryCode = _homeMobileCountryCode;
+     homeMobileNetworkCode = _homeMobileNetworkCode;
+     radioType = _radioType;
+     carrier = _carrier;
+     considerIp = _considerIp;
+     cellTowers = _cellTowers;
+     wifiAccessPoints = _wifiAccessPoints;
+   }
+   /** The mobile country code (MCC) for the device's home network. */
+   public Integer homeMobileCountryCode = null;
+   /** The mobile network code (MNC) for the device's home network. */
+   public Integer homeMobileNetworkCode = null;
+   /**
+    * The mobile radio type. Supported values are {@code "lte"}, {@code "gsm"}, {@code "cdma"}, and
+    * {@code "wcdma"}. While this field is optional, it should be included if a value is available,
+    * for more accurate results.
+    */
+   public String radioType = null;
+   /** The carrier name. */
+   public String carrier = null;
+   /**
+    * Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not
+    * available. Note that the IP address in the request header may not be the IP of the device.
+    * Defaults to true. Set considerIp to false to disable fall back.
+    */
+   public Boolean considerIp = null;
+   /** An array of cell tower objects. See {@link com.google.maps.model.CellTower}. */
+   public CellTower[] cellTowers;
+   /** An array of WiFi access point objects. See {@link com.google.maps.model.WifiAccessPoint}. */
+   public WifiAccessPoint[] wifiAccessPoints;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[GeolocationPayload");
+     List<String> elements = new ArrayList<>();
+     if (homeMobileCountryCode != null) {
+       elements.add("homeMobileCountryCode=" + homeMobileCountryCode);
+     }
+     if (homeMobileNetworkCode != null) {
+       elements.add("homeMobileNetworkCode=" + homeMobileNetworkCode);
+     }
+     if (radioType != null) {
+       elements.add("radioType=" + radioType);
+     }
+     if (carrier != null) {
+       elements.add("carrier=" + carrier);
+     }
+     elements.add("considerIp=" + considerIp);
+     if (cellTowers != null && cellTowers.length > 0) {
+       elements.add("cellTowers=" + Arrays.toString(cellTowers));
+     }
+     if (wifiAccessPoints != null && wifiAccessPoints.length > 0) {
+       elements.add("wifiAccessPoints=" + Arrays.toString(wifiAccessPoints));
+     }
+     sb.append(join(", ", elements));
+     sb.append("]");
+     return sb.toString();
+   }
+ 
+   public static class GeolocationPayloadBuilder {
+     private Integer _homeMobileCountryCode = null;
+     private Integer _homeMobileNetworkCode = null;
+     private String _radioType = null;
+     private String _carrier = null;
+     private Boolean _considerIp = null;
+     private CellTower[] _cellTowers = null;
+     private List<CellTower> _addedCellTowers = new ArrayList<>();
+     private WifiAccessPoint[] _wifiAccessPoints = null;
+     private List<WifiAccessPoint> _addedWifiAccessPoints = new ArrayList<>();
+ 
+     public GeolocationPayload createGeolocationPayload() {
+       // if wifi access points have been added individually...
+       if (!_addedWifiAccessPoints.isEmpty()) {
+         // ...use them as our list of access points by converting the list to an array
+         _wifiAccessPoints = _addedWifiAccessPoints.toArray(new WifiAccessPoint[0]);
+       } // otherwise we will simply use the array set outright
+ 
+       // same logic as above for cell towers
+       if (!_addedCellTowers.isEmpty()) {
+         _cellTowers = _addedCellTowers.toArray(new CellTower[0]);
+       }
+ 
+       return new GeolocationPayload(
+           _homeMobileCountryCode,
+           _homeMobileNetworkCode,
+           _radioType,
+           _carrier,
+           _considerIp,
+           _cellTowers,
+           _wifiAccessPoints);
+     }
+ 
+     public GeolocationPayloadBuilder HomeMobileCountryCode(int newHomeMobileCountryCode) {
+       this._homeMobileCountryCode = newHomeMobileCountryCode;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder HomeMobileNetworkCode(int newHomeMobileNetworkCode) {
+       this._homeMobileNetworkCode = newHomeMobileNetworkCode;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder RadioType(String newRadioType) {
+       this._radioType = newRadioType;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder Carrier(String newCarrier) {
+       this._carrier = newCarrier;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder ConsiderIp(boolean newConsiderIp) {
+       this._considerIp = newConsiderIp;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder CellTowers(CellTower[] newCellTowers) {
+       this._cellTowers = newCellTowers;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder AddCellTower(CellTower newCellTower) {
+       this._addedCellTowers.add(newCellTower);
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder WifiAccessPoints(WifiAccessPoint[] newWifiAccessPoints) {
+       this._wifiAccessPoints = newWifiAccessPoints;
+       return this;
+     }
+ 
+     public GeolocationPayloadBuilder AddWifiAccessPoint(WifiAccessPoint newWifiAccessPoint) {
+       this._addedWifiAccessPoints.add(newWifiAccessPoint);
+       return this;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1b.html b/CodeCoverageReport/ns-7/sources/source-1b.html new file mode 100644 index 000000000..fa135400f --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1b.html @@ -0,0 +1,148 @@ + + + + + + + + Coverage Report > GeolocationResult + + + + + + +
+ + +

Coverage Summary for Class: GeolocationResult (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
GeolocationResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * A Geolocation API result.
+  *
+  * <p>A successful geolocation request will return a result defining a location and radius.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/maps/documentation/geolocation/intro#responses">Geolocation
+  * responses</a> for more detail.
+  */
+ public class GeolocationResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /** The users estimated latitude and longitude. */
+   public LatLng location;
+   /**
+    * The accuracy of the estimated location, in meters. This represents the radius of a circle
+    * around the returned {@code location}.
+    */
+   public double accuracy;
+ 
+   @Override
+   public String toString() {
+     return String.format("%s, accuracy=%s m", location, accuracy);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1c.html b/CodeCoverageReport/ns-7/sources/source-1c.html new file mode 100644 index 000000000..8b470845a --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1c.html @@ -0,0 +1,156 @@ + + + + + + + + Coverage Report > Geometry + + + + + + +
+ + +

Coverage Summary for Class: Geometry (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Geometry + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** The geometry of a Geocoding result. */
+ public class Geometry implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /**
+    * The bounding box which can fully contain the returned result (optionally returned). Note that
+    * these bounds may not match the recommended viewport. (For example, San Francisco includes the
+    * Farallon islands, which are technically part of the city, but probably should not be returned
+    * in the viewport.)
+    */
+   public Bounds bounds;
+ 
+   /**
+    * The geocoded latitude/longitude value. For normal address lookups, this field is typically the
+    * most important.
+    */
+   public LatLng location;
+ 
+   /** The level of certainty of this geocoding result. */
+   public LocationType locationType;
+ 
+   /**
+    * The recommended viewport for displaying the returned result. Generally the viewport is used to
+    * frame a result when displaying it to a user.
+    */
+   public Bounds viewport;
+ 
+   @Override
+   public String toString() {
+     return String.format(
+         "[Geometry: %s (%s) bounds=%s, viewport=%s]", location, locationType, bounds, viewport);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1d.html b/CodeCoverageReport/ns-7/sources/source-1d.html new file mode 100644 index 000000000..18d7ad1cd --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1d.html @@ -0,0 +1,187 @@ + + + + + + + + Coverage Report > LatLng + + + + + + +
+ + +

Coverage Summary for Class: LatLng (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
LatLng + + 100% + + + (1/1) + + + + 50% + + + (3/6) + + + + 0% + + + (0/10) + + + + 50% + + + (6/12) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.io.Serializable;
+ import java.util.Locale;
+ import java.util.Objects;
+ 
+ /** A place on Earth, represented by a latitude/longitude pair. */
+ public class LatLng implements UrlValue, Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The latitude of this location. */
+   public double lat;
+ 
+   /** The longitude of this location. */
+   public double lng;
+ 
+   /**
+    * Constructs a location with a latitude/longitude pair.
+    *
+    * @param lat The latitude of this location.
+    * @param lng The longitude of this location.
+    */
+   public LatLng(double lat, double lng) {
+     this.lat = lat;
+     this.lng = lng;
+   }
+ 
+   /** Serialisation constructor. */
+   public LatLng() {}
+ 
+   @Override
+   public String toString() {
+     return toUrlValue();
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     // Enforce Locale to English for double to string conversion
+     return String.format(Locale.ENGLISH, "%.8f,%.8f", lat, lng);
+   }
+ 
+   @Override
+   public boolean equals(Object o) {
+     if (this == o) return true;
+     if (o == null || getClass() != o.getClass()) return false;
+     LatLng latLng = (LatLng) o;
+     return Double.compare(latLng.lat, lat) == 0 && Double.compare(latLng.lng, lng) == 0;
+   }
+ 
+   @Override
+   public int hashCode() {
+     return Objects.hash(lat, lng);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1e.html b/CodeCoverageReport/ns-7/sources/source-1e.html new file mode 100644 index 000000000..af4f269ba --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1e.html @@ -0,0 +1,177 @@ + + + + + + + + Coverage Report > LocationType + + + + + + +
+ + +

Coverage Summary for Class: LocationType (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
LocationType + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + + + + 100% + + + (9/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ 
+ /**
+  * Location types for a reverse geocoding request. Please see <a
+  * href="https://developers.google.com/maps/documentation/geocoding/start#reverse">Reverse
+  * Geocoding</a> for more detail.
+  */
+ public enum LocationType implements UrlValue {
+   /**
+    * Restricts the results to addresses for which we have location information accurate down to
+    * street address precision.
+    */
+   ROOFTOP,
+ 
+   /**
+    * Restricts the results to those that reflect an approximation (usually on a road) interpolated
+    * between two precise points (such as intersections). An interpolated range generally indicates
+    * that rooftop geocodes are unavailable for a street address.
+    */
+   RANGE_INTERPOLATED,
+ 
+   /**
+    * Restricts the results to geometric centers of a location such as a polyline (for example, a
+    * street) or polygon (region).
+    */
+   GEOMETRIC_CENTER,
+ 
+   /** Restricts the results to those that are characterized as approximate. */
+   APPROXIMATE,
+ 
+   /**
+    * Indicates an unknown location type returned by the server. The Java Client for Google Maps
+    * Services should be updated to support the new value.
+    */
+   UNKNOWN;
+ 
+   @Override
+   public String toUrlValue() {
+     if (this == UNKNOWN) {
+       throw new UnsupportedOperationException("Shouldn't use LocationType.UNKNOWN in a request.");
+     }
+     return name();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-1f.html b/CodeCoverageReport/ns-7/sources/source-1f.html new file mode 100644 index 000000000..f72912eb3 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-1f.html @@ -0,0 +1,378 @@ + + + + + + + + Coverage Report > OpeningHours + + + + + + +
+ + +

Coverage Summary for Class: OpeningHours (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
OpeningHours + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 70% + + + (7/10) + +
OpeningHours$Period + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
OpeningHours$Period$OpenClose + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
OpeningHours$Period$OpenClose$DayOfWeek + + 66.7% + + + (2/3) + + + + 92.3% + + + (12/13) + +
OpeningHours$SpecialDay + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
Total + + 72.7% + + + (8/11) + + + + 33.3% + + + (4/12) + + + + 65.7% + + + (23/35) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.time.LocalTime;
+ import java.util.Arrays;
+ 
+ /**
+  * Opening hours for a Place Details result. Please see <a href=
+  * "https://developers.google.com/places/web-service/details#PlaceDetailsResults">Place Details
+  * Results</a> for more details.
+  */
+ public class OpeningHours implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /**
+    * Whether the place is open at the current time.
+    *
+    * <p>Note: this field will be null if it isn't present in the response.
+    */
+   public Boolean openNow;
+ 
+   /** The opening hours for a Place for a single day. */
+   public static class Period implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     public static class OpenClose implements Serializable {
+ 
+       private static final long serialVersionUID = 1L;
+ 
+       public enum DayOfWeek {
+         SUNDAY("Sunday"),
+         MONDAY("Monday"),
+         TUESDAY("Tuesday"),
+         WEDNESDAY("Wednesday"),
+         THURSDAY("Thursday"),
+         FRIDAY("Friday"),
+         SATURDAY("Saturday"),
+ 
+         /**
+          * Indicates an unknown day of week type returned by the server. The Java Client for Google
+          * Maps Services should be updated to support the new value.
+          */
+         UNKNOWN("Unknown");
+ 
+         private DayOfWeek(String name) {
+           this.name = name;
+         }
+ 
+         private final String name;
+ 
+         public String getName() {
+           return name;
+         }
+       }
+ 
+       /** Day that this Open/Close pair is for. */
+       public Period.OpenClose.DayOfWeek day;
+ 
+       /** Time that this Open or Close happens at. */
+       public LocalTime time;
+ 
+       @Override
+       public String toString() {
+         return String.format("%s %s", day, time);
+       }
+     }
+ 
+     /** When the Place opens. */
+     public Period.OpenClose open;
+ 
+     /** When the Place closes. */
+     public Period.OpenClose close;
+ 
+     @Override
+     public String toString() {
+       return String.format("%s - %s", open, close);
+     }
+   }
+ 
+   /** Opening periods covering seven days, starting from Sunday, in chronological order. */
+   public Period[] periods;
+ 
+   /** An indicator of special hours for a Place for a single day. */
+   public static class SpecialDay implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     /**
+      * A date expressed in RFC3339 format in the local timezone for the place, for example
+      * 2010-12-31.
+      */
+     public String date;
+ 
+     /**
+      * True if there are exceptional hours for this day. If true, this means that there is at least
+      * one exception for this day. Exceptions cause different values to occur in the subfields of
+      * currentOpeningHours and secondaryOpeningHours such as periods, DayOfWeek, openNow. The
+      * exceptions apply to the hours, and the hours are used to generate the other fields.
+      */
+     public Boolean exceptionalHours;
+ 
+     @Override
+     public String toString() {
+       StringBuilder sb = new StringBuilder("[Special Day: ");
+       if (date != null) {
+         sb.append(" (\"").append(date).append("\")");
+       }
+       if (exceptionalHours != null) {
+         sb.append(" (\"").append(exceptionalHours).append("\")");
+       }
+       sb.append("]");
+       return sb.toString();
+     }
+   }
+ 
+   /** An array of up to seven entries corresponding to the next seven days. */
+   public SpecialDay[] specialDays;
+ 
+   /**
+    * A type string used to identify the type of secondary hours (for example, DRIVE_THROUGH,
+    * HAPPY_HOUR, DELIVERY, TAKEOUT, KITCHEN, BREAKFAST, LUNCH, DINNER, BRUNCH, PICKUP,
+    * SENIOR_HOURS). Set for secondary_opening_hours only.
+    */
+   public String type;
+ 
+   /**
+    * The formatted opening hours for each day of the week, as an array of seven strings; for
+    * example, {@code "Monday: 8:30 am  5:30 pm"}.
+    */
+   public String[] weekdayText;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[OpeningHours:");
+     if (openNow != null && openNow) {
+       sb.append(" openNow");
+     }
+     sb.append(" ").append(Arrays.toString(periods));
+     if (specialDays != null) {
+       sb.append(" (\"").append(specialDays).append("\")");
+     }
+     if (type != null) {
+       sb.append(" (\"").append(type).append("\")");
+     }
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2.html b/CodeCoverageReport/ns-7/sources/source-2.html new file mode 100644 index 000000000..62a8d8914 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2.html @@ -0,0 +1,407 @@ + + + + + + + + Coverage Report > AddressComponentType + + + + + + +
+ + +

Coverage Summary for Class: AddressComponentType (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
AddressComponentType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 100% + + + (86/86) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ /**
+  * The Address Component types. Please see <a
+  * href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address Types and
+  * Address Component Types</a> for more detail.
+  */
+ public enum AddressComponentType {
+ 
+   /** A precise street address. */
+   STREET_ADDRESS("street_address"),
+ 
+   /** A named route (such as "US 101"). */
+   ROUTE("route"),
+ 
+   /** A major intersection, usually of two major roads. */
+   INTERSECTION("intersection"),
+ 
+   /** A continent. */
+   CONTINENT("continent"),
+ 
+   /** A political entity. Usually, this type indicates a polygon of some civil administration. */
+   POLITICAL("political"),
+ 
+   /** A national political entity, typically the highest order type returned by the Geocoder. */
+   COUNTRY("country"),
+ 
+   /**
+    * A first-order civil entity below the country level. Within the United States, these
+    * administrative levels are states. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_1("administrative_area_level_1"),
+ 
+   /**
+    * A second-order civil entity below the country level. Within the United States, these
+    * administrative levels are counties. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_2("administrative_area_level_2"),
+ 
+   /**
+    * A third-order civil entity below the country level. This type indicates a minor civil division.
+    * Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_3("administrative_area_level_3"),
+ 
+   /**
+    * A fourth-order civil entity below the country level. This type indicates a minor civil
+    * division. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_4("administrative_area_level_4"),
+ 
+   /**
+    * A fifth-order civil entity below the country level. This type indicates a minor civil division.
+    * Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_5("administrative_area_level_5"),
+ 
+   /** A commonly-used alternative name for the entity. */
+   COLLOQUIAL_AREA("colloquial_area"),
+ 
+   /** An incorporated city or town political entity. */
+   LOCALITY("locality"),
+ 
+   /**
+    * A specific type of Japanese locality, used to facilitate distinction between multiple locality
+    * components within a Japanese address.
+    */
+   WARD("ward"),
+ 
+   /**
+    * A first-order civil entity below a locality. For some locations may receive one of the
+    * additional types: sublocality_level_1 to sublocality_level_5. Each sublocality level is a civil
+    * entity. Larger numbers indicate a smaller geographic area.
+    */
+   SUBLOCALITY("sublocality"),
+   SUBLOCALITY_LEVEL_1("sublocality_level_1"),
+   SUBLOCALITY_LEVEL_2("sublocality_level_2"),
+   SUBLOCALITY_LEVEL_3("sublocality_level_3"),
+   SUBLOCALITY_LEVEL_4("sublocality_level_4"),
+   SUBLOCALITY_LEVEL_5("sublocality_level_5"),
+ 
+   /** A named neighborhood. */
+   NEIGHBORHOOD("neighborhood"),
+ 
+   /** A named location, usually a building or collection of buildings with a common name. */
+   PREMISE("premise"),
+ 
+   /**
+    * A first-order entity below a named location, usually a singular building within a collection of
+    * buildings with a common name.
+    */
+   SUBPREMISE("subpremise"),
+ 
+   /** A postal code as used to address postal mail within the country. */
+   POSTAL_CODE("postal_code"),
+ 
+   /** A postal code prefix as used to address postal mail within the country. */
+   POSTAL_CODE_PREFIX("postal_code_prefix"),
+ 
+   /** A postal code suffix as used to address postal mail within the country. */
+   POSTAL_CODE_SUFFIX("postal_code_suffix"),
+ 
+   /** A prominent natural feature. */
+   NATURAL_FEATURE("natural_feature"),
+ 
+   /** An airport. */
+   AIRPORT("airport"),
+ 
+   /** A named park. */
+   PARK("park"),
+ 
+   /**
+    * A named point of interest. Typically, these "POI"s are prominent local entities that don't
+    * easily fit in another category, such as "Empire State Building" or "Statue of Liberty."
+    */
+   POINT_OF_INTEREST("point_of_interest"),
+ 
+   /** The floor of a building address. */
+   FLOOR("floor"),
+ 
+   /** Typically indicates a place that has not yet been categorized. */
+   ESTABLISHMENT("establishment"),
+ 
+   /** A parking lot or parking structure. */
+   PARKING("parking"),
+ 
+   /** A specific postal box. */
+   POST_BOX("post_box"),
+ 
+   /**
+    * A grouping of geographic areas, such as locality and sublocality, used for mailing addresses in
+    * some countries.
+    */
+   POSTAL_TOWN("postal_town"),
+ 
+   /** The room of a building address. */
+   ROOM("room"),
+ 
+   /** The precise street number of an address. */
+   STREET_NUMBER("street_number"),
+ 
+   /** The location of a bus stop. */
+   BUS_STATION("bus_station"),
+ 
+   /** The location of a train station. */
+   TRAIN_STATION("train_station"),
+ 
+   /** The location of a subway station. */
+   SUBWAY_STATION("subway_station"),
+ 
+   /** The location of a transit station. */
+   TRANSIT_STATION("transit_station"),
+ 
+   /** The location of a light rail station. */
+   LIGHT_RAIL_STATION("light_rail_station"),
+ 
+   /** A general contractor. */
+   GENERAL_CONTRACTOR("general_contractor"),
+ 
+   /** A food service establishment. */
+   FOOD("food"),
+ 
+   /** A real-estate agency. */
+   REAL_ESTATE_AGENCY("real_estate_agency"),
+ 
+   /** A car-rental establishment. */
+   CAR_RENTAL("car_rental"),
+ 
+   /** A travel agency. */
+   TRAVEL_AGENCY("travel_agency"),
+ 
+   /** An electronics store. */
+   ELECTRONICS_STORE("electronics_store"),
+ 
+   /** A home goods store. */
+   HOME_GOODS_STORE("home_goods_store"),
+ 
+   /** A school. */
+   SCHOOL("school"),
+ 
+   /** A store. */
+   STORE("store"),
+ 
+   /** A shopping mall. */
+   SHOPPING_MALL("shopping_mall"),
+ 
+   /** A lodging establishment. */
+   LODGING("lodging"),
+ 
+   /** An art gallery. */
+   ART_GALLERY("art_gallery"),
+ 
+   /** A lawyer. */
+   LAWYER("lawyer"),
+ 
+   /** A restaurant. */
+   RESTAURANT("restaurant"),
+ 
+   /** A bar. */
+   BAR("bar"),
+ 
+   /** A take-away meal establishment. */
+   MEAL_TAKEAWAY("meal_takeaway"),
+ 
+   /** A clothing store. */
+   CLOTHING_STORE("clothing_store"),
+ 
+   /** A local government office. */
+   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
+ 
+   /** A finance establishment. */
+   FINANCE("finance"),
+ 
+   /** A moving company. */
+   MOVING_COMPANY("moving_company"),
+ 
+   /** A storage establishment. */
+   STORAGE("storage"),
+ 
+   /** A cafe. */
+   CAFE("cafe"),
+ 
+   /** A car repair establishment. */
+   CAR_REPAIR("car_repair"),
+ 
+   /** A health service provider. */
+   HEALTH("health"),
+ 
+   /** An insurance agency. */
+   INSURANCE_AGENCY("insurance_agency"),
+ 
+   /** A painter. */
+   PAINTER("painter"),
+ 
+   /** An archipelago. */
+   ARCHIPELAGO("archipelago"),
+ 
+   /** A museum. */
+   MUSEUM("museum"),
+ 
+   /** A campground. */
+   CAMPGROUND("campground"),
+ 
+   /** An RV park. */
+   RV_PARK("rv_park"),
+ 
+   /** A meal delivery establishment. */
+   MEAL_DELIVERY("meal_delivery"),
+ 
+   /** A primary school. */
+   PRIMARY_SCHOOL("primary_school"),
+ 
+   /** A secondary school. */
+   SECONDARY_SCHOOL("secondary_school"),
+ 
+   /** A town square. */
+   TOWN_SQUARE("town_square"),
+ 
+   /** Tourist Attraction */
+   TOURIST_ATTRACTION("tourist_attraction"),
+ 
+   /** Plus code */
+   PLUS_CODE("plus_code"),
+ 
+   /** DRUGSTORE */
+   DRUGSTORE("drugstore"),
+ 
+   /**
+    * Indicates an unknown address component type returned by the server. The Java Client for Google
+    * Maps Services should be updated to support the new value.
+    */
+   UNKNOWN("unknown");
+ 
+   private final String addressComponentType;
+ 
+   AddressComponentType(final String addressComponentType) {
+     this.addressComponentType = addressComponentType;
+   }
+ 
+   @Override
+   public String toString() {
+     return addressComponentType;
+   }
+ 
+   public String toCanonicalLiteral() {
+     return toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-20.html b/CodeCoverageReport/ns-7/sources/source-20.html new file mode 100644 index 000000000..66765ea97 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-20.html @@ -0,0 +1,166 @@ + + + + + + + + Coverage Report > Photo + + + + + + +
+ + +

Coverage Summary for Class: Photo (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
Photo + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 16.7% + + + (1/6) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * Describes a photo available with a Search Result.
+  *
+  * <p>Please see <a href="https://developers.google.com/places/web-service/photos">Place Photos</a>
+  * for more details.
+  */
+ public class Photo implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /** Used to identify the photo when you perform a Photo request. */
+   public String photoReference;
+ 
+   /** The maximum height of the image. */
+   public int height;
+ 
+   /** The maximum width of the image. */
+   public int width;
+ 
+   /** Attributions about this listing which must be displayed to the user. */
+   public String[] htmlAttributions;
+ 
+   @Override
+   public String toString() {
+     String str = String.format("[Photo %s (%d x %d)", photoReference, width, height);
+     if (htmlAttributions != null && htmlAttributions.length > 0) {
+       str = str + " " + htmlAttributions.length + " attributions";
+     }
+     str = str + "]";
+     return str;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-21.html b/CodeCoverageReport/ns-7/sources/source-21.html new file mode 100644 index 000000000..00080a529 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-21.html @@ -0,0 +1,150 @@ + + + + + + + + Coverage Report > PlaceAutocompleteType + + + + + + +
+ + +

Coverage Summary for Class: PlaceAutocompleteType (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
PlaceAutocompleteType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 100% + + + (11/11) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin;
+ 
+ /**
+  * Used by the Places API to restrict the autocomplete results to places matching the specified
+  * type.
+  */
+ public enum PlaceAutocompleteType implements StringJoin.UrlValue {
+   GEOCODE("geocode"),
+   ADDRESS("address"),
+   ESTABLISHMENT("establishment"),
+   REGIONS("(regions)"),
+   CITIES("(cities)");
+ 
+   PlaceAutocompleteType(final String placeType) {
+     this.placeType = placeType;
+   }
+ 
+   private final String placeType;
+ 
+   @Override
+   public String toUrlValue() {
+     return placeType;
+   }
+ 
+   @Override
+   public String toString() {
+     return placeType;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-22.html b/CodeCoverageReport/ns-7/sources/source-22.html new file mode 100644 index 000000000..ad808eefd --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-22.html @@ -0,0 +1,611 @@ + + + + + + + + Coverage Report > PlaceDetails + + + + + + +
+ + +

Coverage Summary for Class: PlaceDetails (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
PlaceDetails + + 100% + + + (2/2) + + + + 71.6% + + + (53/74) + + + + 79.7% + + + (59/74) + +
PlaceDetails$AlternatePlaceIds + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
PlaceDetails$Review + + 100% + + + (1/1) + + + + 100% + + + (1/1) + +
PlaceDetails$Review$AspectRating + + 0% + + + (0/1) + + + + 0% + + + (0/1) + +
PlaceDetails$Review$AspectRating$RatingType + + 100% + + + (1/1) + + + + 100% + + + (10/10) + +
Total + + 57.1% + + + (4/7) + + + + 71.6% + + + (53/74) + + + + 79.5% + + + (70/88) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.net.URL;
+ import java.time.Instant;
+ import java.util.Arrays;
+ 
+ /**
+  * The result of a Place Details request. A Place Details request returns more comprehensive
+  * information about the indicated place such as its complete address, phone number, user rating,
+  * and reviews.
+  *
+  * <p>See <a href= "https://developers.google.com/places/web-service/details#PlaceDetailsResults">
+  * Place Details Results</a> for more detail.
+  */
+ public class PlaceDetails implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** A list of separate address components that comprise the address of this place. */
+   public AddressComponent[] addressComponents;
+ 
+   /** A representation of the place's address in the adr microformat. */
+   public String adrAddress;
+ 
+   /** The status of the business (i.e. operational, temporarily closed, etc.). */
+   public String businessStatus;
+ 
+   /** Specifies if the business supports curbside pickup. */
+   public Boolean curbsidePickup;
+ 
+   /**
+    * The hours of operation for the next seven days (including today). The time period starts at
+    * midnight on the date of the request and ends at 11:59 pm six days later. This field includes
+    * the special_days subfield of all hours, set for dates that have exceptional hours.
+    */
+   public OpeningHours currentOpeningHours;
+ 
+   /** Specifies if the business supports delivery. */
+   public Boolean delivery;
+ 
+   /** Specifies if the business supports indoor or outdoor seating options. */
+   public Boolean dineIn;
+ 
+   /**
+    * Contains a summary of the place. A summary is comprised of a textual overview, and also
+    * includes the language code for these if applicable. Summary text must be presented as-is and
+    * can not be modified or altered.
+    */
+   public PlaceEditorialSummary editorialSummary;
+ 
+   /** The human-readable address of this place. */
+   public String formattedAddress;
+ 
+   /** The place's phone number in its local format. */
+   public String formattedPhoneNumber;
+ 
+   /** The location of the Place. */
+   public Geometry geometry;
+ 
+   /**
+    * The URL of a suggested icon which may be displayed to the user when indicating this result on a
+    * map.
+    */
+   public URL icon;
+ 
+   /**
+    * The place's phone number in international format. International format includes the country
+    * code, and is prefixed with the plus (+) sign.
+    */
+   public String internationalPhoneNumber;
+ 
+   /** The human-readable name for the returned result. */
+   public String name;
+ 
+   /** The regular hours of operation. */
+   public OpeningHours openingHours;
+ 
+   /** Whether the place has permanently closed. */
+   @Deprecated public boolean permanentlyClosed;
+ 
+   /** A list of photos associated with this place, each containing a reference to an image. */
+   public Photo[] photos;
+ 
+   /** A textual identifier that uniquely identifies this place. */
+   public String placeId;
+ 
+   /** The scope of the placeId. */
+   @Deprecated public PlaceIdScope scope;
+ 
+   /** The Plus Code location identifier for this place. */
+   public PlusCode plusCode;
+ 
+   /**
+    * The price level of the place. The exact amount indicated by a specific value will vary from
+    * region to region.
+    */
+   public PriceLevel priceLevel;
+ 
+   @Deprecated
+   public static class AlternatePlaceIds implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     /**
+      * The alternative placeId. The most likely reason for a place to have an alternative place ID
+      * is if your application adds a place and receives an application-scoped place ID, then later
+      * receives a Google-scoped place ID after passing the moderation process.
+      */
+     public String placeId;
+ 
+     /**
+      * The scope of an alternative place ID will always be APP, indicating that the alternative
+      * place ID is recognised by your application only.
+      */
+     @Deprecated public PlaceIdScope scope;
+ 
+     @Override
+     public String toString() {
+       return String.format("%s (%s)", placeId, scope);
+     }
+   }
+ 
+   /**
+    * An optional array of alternative place IDs for the place, with a scope related to each
+    * alternative ID.
+    */
+   @Deprecated public AlternatePlaceIds[] altIds;
+ 
+   /** The place's rating, from 1.0 to 5.0, based on aggregated user reviews. */
+   public float rating;
+ 
+   public static class Review implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     public static class AspectRating implements Serializable {
+ 
+       private static final long serialVersionUID = 1L;
+ 
+       public enum RatingType {
+         APPEAL,
+         ATMOSPHERE,
+         DECOR,
+         FACILITIES,
+         FOOD,
+         OVERALL,
+         QUALITY,
+         SERVICE,
+ 
+         /**
+          * Indicates an unknown rating type returned by the server. The Java Client for Google Maps
+          * Services should be updated to support the new value.
+          */
+         UNKNOWN
+       }
+ 
+       /** The name of the aspect that is being rated. */
+       public RatingType type;
+ 
+       /** The user's rating for this particular aspect, from 0 to 3. */
+       public int rating;
+     }
+ 
+     /**
+      * A list of AspectRating objects, each of which provides a rating of a single attribute of the
+      * establishment.
+      *
+      * <p>Note: this is a <a href=
+      * "https://developers.google.com/places/web-service/details#PremiumData">Premium Data</a> field
+      * available to the Google Places API for Work customers.
+      */
+     public AspectRating[] aspects;
+ 
+     /**
+      * The name of the user who submitted the review. Anonymous reviews are attributed to "A Google
+      * user".
+      */
+     public String authorName;
+ 
+     /** The URL of the user's Google+ profile, if available. */
+     public URL authorUrl;
+ 
+     /** An IETF language code indicating the language used in the user's review. */
+     public String language;
+ 
+     /** The URL of the user's Google+ profile photo, if available. */
+     public String profilePhotoUrl;
+ 
+     /** The user's overall rating for this place. This is a whole number, ranging from 1 to 5. */
+     public int rating;
+ 
+     /** The relative time that the review was submitted. */
+     public String relativeTimeDescription;
+ 
+     /**
+      * The user's review. When reviewing a location with Google Places, text reviews are considered
+      * optional.
+      */
+     public String text;
+ 
+     /** The time that the review was submitted. */
+     public Instant time;
+   }
+ 
+   /** Specifies if the place supports reservations. */
+   public Boolean reservable;
+ 
+   /**
+    * An array of up to five reviews. If a language parameter was specified in the Place Details
+    * request, the Places Service will bias the results to prefer reviews written in that language.
+    */
+   public Review[] reviews;
+ 
+   /**
+    * Contains an array of entries for the next seven days including information about secondary
+    * hours of a business. Secondary hours are different from a business's main hours. For example, a
+    * restaurant can specify drive through hours or delivery hours as its secondary hours. This field
+    * populates the type subfield, which draws from a predefined list of opening hours types (such as
+    * DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. This field includes the
+    * special_days subfield of all hours, set for dates that have exceptional hours.
+    */
+   public OpeningHours secondaryOpeningHours;
+ 
+   /** Specifies if the place serves beer. */
+   public Boolean servesBeer;
+ 
+   /** Specifies if the place serves breakfast. */
+   public Boolean servesBreakfast;
+ 
+   /** Specifies if the place serves brunch. */
+   public Boolean servesBrunch;
+ 
+   /** Specifies if the place serves dinner. */
+   public Boolean servesDinner;
+ 
+   /** Specifies if the place serves lunch. */
+   public Boolean servesLunch;
+ 
+   /** Specifies if the place serves vegetarian food. */
+   public Boolean servesVegetarianFood;
+ 
+   /** Specifies if the place serves wine. */
+   public Boolean servesWine;
+ 
+   /** Specifies if the business supports takeout. */
+   public Boolean takeout;
+ 
+   /** Feature types describing the given result. */
+   public AddressType[] types;
+ 
+   /**
+    * The URL of the official Google page for this place. This will be the establishment's Google+
+    * page if the Google+ page exists, otherwise it will be the Google-owned page that contains the
+    * best available information about the place. Applications must link to or embed this page on any
+    * screen that shows detailed results about the place to the user.
+    */
+   public URL url;
+ 
+   /** The number of user reviews for this place */
+   public int userRatingsTotal;
+ 
+   /** The number of minutes this places current timezone is offset from UTC. */
+   public int utcOffset;
+ 
+   /**
+    * A simplified address for the place, including the street name, street number, and locality, but
+    * not the province/state, postal code, or country.
+    */
+   public String vicinity;
+ 
+   /** The authoritative website for this place, such as a business's homepage. */
+   public URL website;
+ 
+   /** Specifies if the place has an entrance that is wheelchair-accessible. */
+   public Boolean wheelchairAccessibleEntrance;
+ 
+   /** Attributions about this listing which must be displayed to the user. */
+   public String[] htmlAttributions;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[PlaceDetails: ");
+     sb.append("\"").append(name).append("\"");
+     sb.append(" ").append(placeId).append(" (").append(scope).append(")");
+     sb.append(" address=\"").append(formattedAddress).append("\"");
+     if (businessStatus != null) {
+       sb.append("businessStatus=").append(businessStatus);
+     }
+     if (curbsidePickup != null) {
+       sb.append(", curbsidePickup=").append(curbsidePickup);
+     }
+     if (currentOpeningHours != null) {
+       sb.append(", currentOpeningHours=").append(currentOpeningHours);
+     }
+     if (delivery != null) {
+       sb.append(", delivery=").append(delivery);
+     }
+     if (dineIn != null) {
+       sb.append(", dineIn=").append(dineIn);
+     }
+     if (editorialSummary != null) {
+       sb.append(", editorialSummary=").append(editorialSummary);
+     }
+     sb.append(", geometry=").append(geometry);
+     if (vicinity != null) {
+       sb.append(", vicinity=").append(vicinity);
+     }
+     if (types != null && types.length > 0) {
+       sb.append(", types=").append(Arrays.toString(types));
+     }
+     if (altIds != null && altIds.length > 0) {
+       sb.append(", altIds=").append(Arrays.toString(altIds));
+     }
+     if (formattedPhoneNumber != null) {
+       sb.append(", phone=").append(formattedPhoneNumber);
+     }
+     if (internationalPhoneNumber != null) {
+       sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber);
+     }
+     if (url != null) {
+       sb.append(", url=").append(url);
+     }
+     if (website != null) {
+       sb.append(", website=").append(website);
+     }
+     if (icon != null) {
+       sb.append(", icon");
+     }
+     if (openingHours != null) {
+       sb.append(", openingHours");
+       sb.append(", utcOffset=").append(utcOffset);
+     }
+     if (priceLevel != null) {
+       sb.append(", priceLevel=").append(priceLevel);
+     }
+     sb.append(", rating=").append(rating);
+     if (permanentlyClosed) {
+       sb.append(", permanentlyClosed");
+     }
+     if (userRatingsTotal > 0) {
+       sb.append(", userRatingsTotal=").append(userRatingsTotal);
+     }
+     if (photos != null && photos.length > 0) {
+       sb.append(", ").append(photos.length).append(" photos");
+     }
+     if (reservable != null) {
+       sb.append(", reservable=").append(reservable);
+     }
+     if (reviews != null && reviews.length > 0) {
+       sb.append(", ").append(reviews.length).append(" reviews");
+     }
+     if (secondaryOpeningHours != null) {
+       sb.append(", secondaryOpeningHours=").append(secondaryOpeningHours);
+     }
+     if (servesBeer != null) {
+       sb.append(", servesBeer=").append(servesBeer);
+     }
+     if (servesBreakfast != null) {
+       sb.append(", servesBreakfast=").append(servesBreakfast);
+     }
+     if (servesBrunch != null) {
+       sb.append(", servesBrunch=").append(servesBrunch);
+     }
+     if (servesDinner != null) {
+       sb.append(", servesDinner=").append(servesDinner);
+     }
+     if (servesLunch != null) {
+       sb.append(", servesLunch=").append(servesLunch);
+     }
+     if (servesVegetarianFood != null) {
+       sb.append(", servesVegetarianFood=").append(servesVegetarianFood);
+     }
+     if (servesWine != null) {
+       sb.append(", servesWine=").append(servesWine);
+     }
+     if (takeout != null) {
+       sb.append(", takeout=").append(takeout);
+     }
+     if (wheelchairAccessibleEntrance != null) {
+       sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance);
+     }
+     if (htmlAttributions != null && htmlAttributions.length > 0) {
+       sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions");
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-23.html b/CodeCoverageReport/ns-7/sources/source-23.html new file mode 100644 index 000000000..42e8ede11 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-23.html @@ -0,0 +1,163 @@ + + + + + + + + Coverage Report > PlaceEditorialSummary + + + + + + +
+ + +

Coverage Summary for Class: PlaceEditorialSummary (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PlaceEditorialSummary + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2023 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * Contains a summary of the place. A summary is comprised of a textual overview, and also includes
+  * the language code for these if applicable. Summary text must be presented as-is and can not be
+  * modified or altered.
+  */
+ public class PlaceEditorialSummary implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The language of the previous fields. May not always be present. */
+   public String language;
+ 
+   /** A medium-length textual summary of the place. */
+   public String overview;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[EditorialSummary: ");
+     if (language != null) {
+       sb.append("language=").append(language).append(", ");
+     }
+     if (overview != null) {
+       sb.append("overview=").append(overview);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-24.html b/CodeCoverageReport/ns-7/sources/source-24.html new file mode 100644 index 000000000..ff4d7355a --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-24.html @@ -0,0 +1,132 @@ + + + + + + + + Coverage Report > PlaceIdScope + + + + + + +
+ + +

Coverage Summary for Class: PlaceIdScope (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
PlaceIdScope + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (3/3) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ /** The scope of a Place ID returned from the Google Places API Web Service. */
+ @Deprecated
+ public enum PlaceIdScope {
+   /**
+    * Indicates the place ID is recognised by your application only. This is because your application
+    * added the place, and the place has not yet passed the moderation process.
+    */
+   APP,
+   /** Indicates the place ID is available to other applications and on Google Maps. */
+   GOOGLE
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-25.html b/CodeCoverageReport/ns-7/sources/source-25.html new file mode 100644 index 000000000..b86386d65 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-25.html @@ -0,0 +1,251 @@ + + + + + + + + Coverage Report > PlaceType + + + + + + +
+ + +

Coverage Summary for Class: PlaceType (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
PlaceType + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 100% + + + (109/109) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin;
+ 
+ /** Used by the Places API to restrict the results to places matching the specified type. */
+ public enum PlaceType implements StringJoin.UrlValue {
+   ACCOUNTING("accounting"),
+   AIRPORT("airport"),
+   AMUSEMENT_PARK("amusement_park"),
+   AQUARIUM("aquarium"),
+   ART_GALLERY("art_gallery"),
+   ATM("atm"),
+   BAKERY("bakery"),
+   BANK("bank"),
+   BAR("bar"),
+   BEAUTY_SALON("beauty_salon"),
+   BICYCLE_STORE("bicycle_store"),
+   BOOK_STORE("book_store"),
+   BOWLING_ALLEY("bowling_alley"),
+   BUS_STATION("bus_station"),
+   CAFE("cafe"),
+   CAMPGROUND("campground"),
+   CAR_DEALER("car_dealer"),
+   CAR_RENTAL("car_rental"),
+   CAR_REPAIR("car_repair"),
+   CAR_WASH("car_wash"),
+   CASINO("casino"),
+   CEMETERY("cemetery"),
+   CHURCH("church"),
+   CITY_HALL("city_hall"),
+   CLOTHING_STORE("clothing_store"),
+   CONVENIENCE_STORE("convenience_store"),
+   COURTHOUSE("courthouse"),
+   DENTIST("dentist"),
+   DEPARTMENT_STORE("department_store"),
+   DOCTOR("doctor"),
+   DRUGSTORE("drugstore"),
+   ELECTRICIAN("electrician"),
+   ELECTRONICS_STORE("electronics_store"),
+   EMBASSY("embassy"),
+   @Deprecated
+   ESTABLISHMENT("establishment"),
+   @Deprecated
+   FINANCE("finance"),
+   FIRE_STATION("fire_station"),
+   FLORIST("florist"),
+   @Deprecated
+   FOOD("food"),
+   FUNERAL_HOME("funeral_home"),
+   FURNITURE_STORE("furniture_store"),
+   GAS_STATION("gas_station"),
+   @Deprecated
+   GENERAL_CONTRACTOR("general_contractor"),
+   GROCERY_OR_SUPERMARKET("grocery_or_supermarket"),
+   GYM("gym"),
+   HAIR_CARE("hair_care"),
+   HARDWARE_STORE("hardware_store"),
+   @Deprecated
+   HEALTH("health"),
+   HINDU_TEMPLE("hindu_temple"),
+   HOME_GOODS_STORE("home_goods_store"),
+   HOSPITAL("hospital"),
+   INSURANCE_AGENCY("insurance_agency"),
+   JEWELRY_STORE("jewelry_store"),
+   LAUNDRY("laundry"),
+   LAWYER("lawyer"),
+   LIBRARY("library"),
+   LIGHT_RAIL_STATION("light_rail_station"),
+   LIQUOR_STORE("liquor_store"),
+   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
+   LOCKSMITH("locksmith"),
+   LODGING("lodging"),
+   MEAL_DELIVERY("meal_delivery"),
+   MEAL_TAKEAWAY("meal_takeaway"),
+   MOSQUE("mosque"),
+   MOVIE_RENTAL("movie_rental"),
+   MOVIE_THEATER("movie_theater"),
+   MOVING_COMPANY("moving_company"),
+   MUSEUM("museum"),
+   NIGHT_CLUB("night_club"),
+   PAINTER("painter"),
+   PARK("park"),
+   PARKING("parking"),
+   PET_STORE("pet_store"),
+   PHARMACY("pharmacy"),
+   PHYSIOTHERAPIST("physiotherapist"),
+   @Deprecated
+   PLACE_OF_WORSHIP("place_of_worship"),
+   PLUMBER("plumber"),
+   POLICE("police"),
+   POST_OFFICE("post_office"),
+   PRIMARY_SCHOOL("primary_school"),
+   REAL_ESTATE_AGENCY("real_estate_agency"),
+   RESTAURANT("restaurant"),
+   ROOFING_CONTRACTOR("roofing_contractor"),
+   RV_PARK("rv_park"),
+   SCHOOL("school"),
+   SECONDARY_SCHOOL("secondary_school"),
+   SHOE_STORE("shoe_store"),
+   SHOPPING_MALL("shopping_mall"),
+   SPA("spa"),
+   STADIUM("stadium"),
+   STORAGE("storage"),
+   STORE("store"),
+   SUBWAY_STATION("subway_station"),
+   SUPERMARKET("supermarket"),
+   SYNAGOGUE("synagogue"),
+   TAXI_STAND("taxi_stand"),
+   TOURIST_ATTRACTION("tourist_attraction"),
+   TRAIN_STATION("train_station"),
+   TRANSIT_STATION("transit_station"),
+   TRAVEL_AGENCY("travel_agency"),
+   UNIVERSITY("university"),
+   VETERINARY_CARE("veterinary_care"),
+   ZOO("zoo");
+ 
+   PlaceType(final String placeType) {
+     this.placeType = placeType;
+   }
+ 
+   private final String placeType;
+ 
+   @Override
+   public String toUrlValue() {
+     return placeType;
+   }
+ 
+   @Override
+   public String toString() {
+     return placeType;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-26.html b/CodeCoverageReport/ns-7/sources/source-26.html new file mode 100644 index 000000000..67b3ae958 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-26.html @@ -0,0 +1,175 @@ + + + + + + + + Coverage Report > PlacesSearchResponse + + + + + + +
+ + +

Coverage Summary for Class: PlacesSearchResponse (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PlacesSearchResponse + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 66.7% + + + (4/6) + + + + 88.9% + + + (8/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The response from a Places Search request.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/places/web-service/search#PlaceSearchResponses">Places Search
+  * Response</a> for more detail.
+  */
+ public class PlacesSearchResponse implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The list of Search Results. */
+   public PlacesSearchResult results[];
+ 
+   /** Attributions about this listing which must be displayed to the user. */
+   public String htmlAttributions[];
+ 
+   /**
+    * A token that can be used to request up to 20 additional results. This field will be null if
+    * there are no further results. The maximum number of results that can be returned is 60.
+    *
+    * <p>Note: There is a short delay between when this response is issued, and when nextPageToken
+    * will become valid to execute.
+    */
+   public String nextPageToken;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[PlacesSearchResponse: ");
+     sb.append(results.length).append(" results");
+     if (nextPageToken != null) {
+       sb.append(", nextPageToken=").append(nextPageToken);
+     }
+     if (htmlAttributions != null && htmlAttributions.length > 0) {
+       sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions");
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-27.html b/CodeCoverageReport/ns-7/sources/source-27.html new file mode 100644 index 000000000..427ee9279 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-27.html @@ -0,0 +1,234 @@ + + + + + + + + Coverage Report > PlacesSearchResult + + + + + + +
+ + +

Coverage Summary for Class: PlacesSearchResult (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PlacesSearchResult + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/20) + + + + 4% + + + (1/25) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.net.URL;
+ import java.util.Arrays;
+ 
+ /**
+  * A single result in the search results returned from the Google Places API Web Service.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/places/web-service/search#PlaceSearchResults">Place Search
+  * Results</a> for more detail.
+  */
+ public class PlacesSearchResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The human-readable address of this place. */
+   public String formattedAddress;
+ 
+   /**
+    * Geometry information about the result, generally including the location (geocode) of the place
+    * and (optionally) the viewport identifying its general area of coverage.
+    */
+   public Geometry geometry;
+ 
+   /**
+    * The human-readable name for the returned result. For establishment results, this is usually the
+    * business name.
+    */
+   public String name;
+ 
+   /**
+    * The URL of a recommended icon which may be displayed to the user when indicating this result.
+    */
+   public URL icon;
+ 
+   /** A textual identifier that uniquely identifies a place. */
+   public String placeId;
+ 
+   /** The scope of the placeId. */
+   @Deprecated public PlaceIdScope scope;
+ 
+   /** The place's rating, from 1.0 to 5.0, based on aggregated user reviews. */
+   public float rating;
+ 
+   /** Feature types describing the given result. */
+   public String types[];
+ 
+   /** Information on when the place is open. */
+   public OpeningHours openingHours;
+ 
+   /** Photo objects associated with this place, each containing a reference to an image. */
+   public Photo photos[];
+ 
+   /** A feature name of a nearby location. */
+   public String vicinity;
+ 
+   /** Indicates that the place has permanently shut down. */
+   public boolean permanentlyClosed;
+ 
+   /** The number of user reviews for this place */
+   public int userRatingsTotal;
+ 
+   /** The status of the business (i.e. operational, temporarily closed, etc.). */
+   public String businessStatus;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[PlacesSearchResult: ");
+     sb.append("\"").append(name).append("\"");
+     sb.append(", \"").append(formattedAddress).append("\"");
+     sb.append(", geometry=").append(geometry);
+     sb.append(", placeId=").append(placeId);
+     if (vicinity != null) {
+       sb.append(", vicinity=").append(vicinity);
+     }
+     if (types != null && types.length > 0) {
+       sb.append(", types=").append(Arrays.toString(types));
+     }
+     sb.append(", rating=").append(rating);
+     if (icon != null) {
+       sb.append(", icon");
+     }
+     if (openingHours != null) {
+       sb.append(", openingHours");
+     }
+     if (photos != null && photos.length > 0) {
+       sb.append(", ").append(photos.length).append(" photos");
+     }
+     if (permanentlyClosed) {
+       sb.append(", permanentlyClosed");
+     }
+     if (userRatingsTotal > 0) {
+       sb.append(", userRatingsTotal=").append(userRatingsTotal);
+     }
+     if (businessStatus != null) {
+       sb.append(", businessStatus=").append(businessStatus);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-28.html b/CodeCoverageReport/ns-7/sources/source-28.html new file mode 100644 index 000000000..d7d3e333f --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-28.html @@ -0,0 +1,157 @@ + + + + + + + + Coverage Report > PlusCode + + + + + + +
+ + +

Coverage Summary for Class: PlusCode (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PlusCode + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/2) + + + + 14.3% + + + (1/7) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** A Plus Code encoded location reference. */
+ public class PlusCode implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The global Plus Code identifier. */
+   public String globalCode;
+ 
+   /** The compound Plus Code identifier. May be null for locations in remote areas. */
+   public String compoundCode;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[PlusCode: ");
+     sb.append(globalCode);
+     if (compoundCode != null) {
+       sb.append(", compoundCode=").append(compoundCode);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-29.html b/CodeCoverageReport/ns-7/sources/source-29.html new file mode 100644 index 000000000..07fc50c37 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-29.html @@ -0,0 +1,168 @@ + + + + + + + + Coverage Report > PriceLevel + + + + + + +
+ + +

Coverage Summary for Class: PriceLevel (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
PriceLevel + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 50% + + + (1/2) + + + + 92.9% + + + (13/14) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin;
+ 
+ /** Used by Places API to restrict search results to those within a given price range. */
+ public enum PriceLevel implements StringJoin.UrlValue {
+   FREE("0"),
+   INEXPENSIVE("1"),
+   MODERATE("2"),
+   EXPENSIVE("3"),
+   VERY_EXPENSIVE("4"),
+ 
+   /**
+    * Indicates an unknown price level type returned by the server. The Java Client for Google Maps
+    * Services should be updated to support the new value.
+    */
+   UNKNOWN("Unknown");
+ 
+   private final String priceLevel;
+ 
+   PriceLevel(final String priceLevel) {
+     this.priceLevel = priceLevel;
+   }
+ 
+   @Override
+   public String toString() {
+     return priceLevel;
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     if (this == UNKNOWN) {
+       throw new UnsupportedOperationException("Shouldn't use PriceLevel.UNKNOWN in a request.");
+     }
+     return priceLevel;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2a.html b/CodeCoverageReport/ns-7/sources/source-2a.html new file mode 100644 index 000000000..2ce95d54d --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2a.html @@ -0,0 +1,144 @@ + + + + + + + + Coverage Report > RankBy + + + + + + +
+ + +

Coverage Summary for Class: RankBy (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
RankBy + + 100% + + + (1/1) + + + + 100% + + + (4/4) + + + + 100% + + + (8/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin;
+ 
+ /** Used by the Places API to specify the order in which results are listed. */
+ public enum RankBy implements StringJoin.UrlValue {
+   PROMINENCE("prominence"),
+   DISTANCE("distance");
+ 
+   private final String ranking;
+ 
+   RankBy(String ranking) {
+     this.ranking = ranking;
+   }
+ 
+   @Override
+   public String toString() {
+     return ranking;
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return ranking;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2b.html b/CodeCoverageReport/ns-7/sources/source-2b.html new file mode 100644 index 000000000..1067a7a9b --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2b.html @@ -0,0 +1,157 @@ + + + + + + + + Coverage Report > Size + + + + + + +
+ + +

Coverage Summary for Class: Size (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Size + + 100% + + + (1/1) + + + + 50% + + + (2/4) + + + + 71.4% + + + (5/7) + +
+ +
+
+ + +
+ /*
+  * Copyright 2018 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin;
+ import java.io.Serializable;
+ 
+ public class Size implements StringJoin.UrlValue, Serializable {
+   private static final long serialVersionUID = 1L;
+ 
+   /** The width of this Size. */
+   public int width;
+ 
+   /** The height of this Size. */
+   public int height;
+ 
+   /**
+    * Constructs a Size with a height/width pair.
+    *
+    * @param height The height of this Size.
+    * @param width The width of this Size.
+    */
+   public Size(int width, int height) {
+     this.width = width;
+     this.height = height;
+   }
+ 
+   /** Serialization constructor. */
+   public Size() {}
+ 
+   @Override
+   public String toString() {
+     return toUrlValue();
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return String.format("%dx%d", width, height);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2c.html b/CodeCoverageReport/ns-7/sources/source-2c.html new file mode 100644 index 000000000..e91fc892f --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2c.html @@ -0,0 +1,154 @@ + + + + + + + + Coverage Report > SnappedPoint + + + + + + +
+ + +

Coverage Summary for Class: SnappedPoint (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
SnappedPoint + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (3/3) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** A point that has been snapped to a road by the Roads API. */
+ public class SnappedPoint implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /** A latitude/longitude value representing the snapped location. */
+   public LatLng location;
+ 
+   /**
+    * The index of the corresponding value in the original request. Each value in the request should
+    * map to a snapped value in the response. However, if you've set interpolate=true, then it's
+    * possible that the response will contain more coordinates than the request. Interpolated values
+    * will not have an originalIndex. These values are indexed from 0, so a point with an
+    * originalIndex of 4 will be the snapped value of the 5th lat/lng passed to the path parameter.
+    *
+    * <p>A point that was not on the original path, or when interpolate=false, will have an
+    * originalIndex of -1.
+    */
+   public int originalIndex = -1;
+ 
+   /**
+    * A unique identifier for a place. All placeIds returned by the Roads API will correspond to road
+    * segments. The placeId can be passed to the speedLimit method to determine the speed limit along
+    * that road segment.
+    */
+   public String placeId;
+ 
+   @Override
+   public String toString() {
+     return String.format("[%s, placeId=%s, originalIndex=%s]", location, placeId, originalIndex);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2d.html b/CodeCoverageReport/ns-7/sources/source-2d.html new file mode 100644 index 000000000..30bac0acf --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2d.html @@ -0,0 +1,159 @@ + + + + + + + + Coverage Report > SnappedSpeedLimitResult + + + + + + +
+ + +

Coverage Summary for Class: SnappedSpeedLimitResult (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
SnappedSpeedLimitResult + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (4/8) + + + + 100% + + + (8/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** A combined snap-to-roads and speed limit response. */
+ public class SnappedSpeedLimitResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** Speed limit results. */
+   public SpeedLimit[] speedLimits;
+ 
+   /** Snap-to-road results. */
+   public SnappedPoint[] snappedPoints;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[SnappedSpeedLimitResponse:");
+     if (speedLimits != null && speedLimits.length > 0) {
+       sb.append(" ").append(speedLimits.length).append(" speedLimits");
+     }
+     if (snappedPoints != null && snappedPoints.length > 0) {
+       sb.append(" ").append(snappedPoints.length).append(" speedLimits");
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2e.html b/CodeCoverageReport/ns-7/sources/source-2e.html new file mode 100644 index 000000000..49d4dd289 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2e.html @@ -0,0 +1,150 @@ + + + + + + + + Coverage Report > SpeedLimit + + + + + + +
+ + +

Coverage Summary for Class: SpeedLimit (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
SpeedLimit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 66.7% + + + (2/3) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** A speed limit result from the Roads API. */
+ public class SpeedLimit implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /**
+    * A unique identifier for a place. All placeIds returned by the Roads API will correspond to road
+    * segments.
+    */
+   public String placeId;
+ 
+   /**
+    * The speed limit for that road segment, specified in kilometers per hour.
+    *
+    * <p>To obtain the speed in miles per hour, use {@link #speedLimitMph()}.
+    */
+   public double speedLimit;
+ 
+   /** @return Returns the speed limit in miles per hour (MPH). */
+   public long speedLimitMph() {
+     return Math.round(speedLimit * 0.621371);
+   }
+ 
+   @Override
+   public String toString() {
+     return String.format("[%.0f km/h, placeId=%s]", speedLimit, placeId);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-2f.html b/CodeCoverageReport/ns-7/sources/source-2f.html new file mode 100644 index 000000000..5f1858e02 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-2f.html @@ -0,0 +1,145 @@ + + + + + + + + Coverage Report > StopDetails + + + + + + +
+ + +

Coverage Summary for Class: StopDetails (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
StopDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The stop/station.
+  *
+  * <p>See <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+  * details</a> for more detail.
+  */
+ public class StopDetails implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The name of the transit station/stop. E.g. {@code "Union Square"}. */
+   public String name;
+ 
+   /** The location of the transit station/stop. */
+   public LatLng location;
+ 
+   @Override
+   public String toString() {
+     return String.format("%s (%s)", name, location);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-3.html b/CodeCoverageReport/ns-7/sources/source-3.html new file mode 100644 index 000000000..f843933d9 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-3.html @@ -0,0 +1,611 @@ + + + + + + + + Coverage Report > AddressType + + + + + + +
+ + +

Coverage Summary for Class: AddressType (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
AddressType + + 100% + + + (1/1) + + + + 100% + + + (5/5) + + + + 100% + + + (2/2) + + + + 100% + + + (149/149) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ 
+ /**
+  * The Address types. Please see <a
+  * href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address Types and
+  * Address Component Types</a> for more detail. Some addresses contain additional place categories.
+  * Please see <a href="https://developers.google.com/places/supported_types">Place Types</a> for
+  * more detail.
+  */
+ public enum AddressType implements UrlValue {
+ 
+   /** A precise street address. */
+   STREET_ADDRESS("street_address"),
+ 
+   /** A precise street number. */
+   STREET_NUMBER("street_number"),
+ 
+   /** The floor in the address of the building. */
+   FLOOR("floor"),
+ 
+   /** The room in the address of the building */
+   ROOM("room"),
+ 
+   /** A specific mailbox. */
+   POST_BOX("post_box"),
+ 
+   /** A named route (such as "US 101"). */
+   ROUTE("route"),
+ 
+   /** A major intersection, usually of two major roads. */
+   INTERSECTION("intersection"),
+ 
+   /** A continent. */
+   CONTINENT("continent"),
+ 
+   /** A political entity. Usually, this type indicates a polygon of some civil administration. */
+   POLITICAL("political"),
+ 
+   /** The national political entity, typically the highest order type returned by the Geocoder. */
+   COUNTRY("country"),
+ 
+   /**
+    * A first-order civil entity below the country level. Within the United States, these
+    * administrative levels are states. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_1("administrative_area_level_1"),
+ 
+   /**
+    * A second-order civil entity below the country level. Within the United States, these
+    * administrative levels are counties. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_2("administrative_area_level_2"),
+ 
+   /**
+    * A third-order civil entity below the country level. This type indicates a minor civil division.
+    * Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_3("administrative_area_level_3"),
+ 
+   /**
+    * A fourth-order civil entity below the country level. This type indicates a minor civil
+    * division. Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_4("administrative_area_level_4"),
+ 
+   /**
+    * A fifth-order civil entity below the country level. This type indicates a minor civil division.
+    * Not all nations exhibit these administrative levels.
+    */
+   ADMINISTRATIVE_AREA_LEVEL_5("administrative_area_level_5"),
+ 
+   /** A commonly-used alternative name for the entity. */
+   COLLOQUIAL_AREA("colloquial_area"),
+ 
+   /** An incorporated city or town political entity. */
+   LOCALITY("locality"),
+ 
+   /**
+    * A specific type of Japanese locality, used to facilitate distinction between multiple locality
+    * components within a Japanese address.
+    */
+   WARD("ward"),
+ 
+   /**
+    * A first-order civil entity below a locality. Some locations may receive one of the additional
+    * types: {@code SUBLOCALITY_LEVEL_1} to {@code SUBLOCALITY_LEVEL_5}. Each sublocality level is a
+    * civil entity. Larger numbers indicate a smaller geographic area.
+    */
+   SUBLOCALITY("sublocality"),
+   SUBLOCALITY_LEVEL_1("sublocality_level_1"),
+   SUBLOCALITY_LEVEL_2("sublocality_level_2"),
+   SUBLOCALITY_LEVEL_3("sublocality_level_3"),
+   SUBLOCALITY_LEVEL_4("sublocality_level_4"),
+   SUBLOCALITY_LEVEL_5("sublocality_level_5"),
+ 
+   /** A named neighborhood. */
+   NEIGHBORHOOD("neighborhood"),
+ 
+   /** A named location, usually a building or collection of buildings with a common name. */
+   PREMISE("premise"),
+ 
+   /**
+    * A first-order entity below a named location, usually a singular building within a collection of
+    * buildings with a common name.
+    */
+   SUBPREMISE("subpremise"),
+ 
+   /** A postal code as used to address postal mail within the country. */
+   POSTAL_CODE("postal_code"),
+ 
+   /** A postal code prefix as used to address postal mail within the country. */
+   POSTAL_CODE_PREFIX("postal_code_prefix"),
+ 
+   /** A postal code prefix as used to address postal mail within the country. */
+   POSTAL_CODE_SUFFIX("postal_code_suffix"),
+ 
+   /* Plus code */
+   PLUS_CODE("plus_code"),
+ 
+   /** A prominent natural feature. */
+   NATURAL_FEATURE("natural_feature"),
+ 
+   /** An airport. */
+   AIRPORT("airport"),
+ 
+   /** A university. */
+   UNIVERSITY("university"),
+ 
+   /** A named park. */
+   PARK("park"),
+ 
+   /** A museum. */
+   MUSEUM("museum"),
+ 
+   /**
+    * A named point of interest. Typically, these "POI"s are prominent local entities that don't
+    * easily fit in another category, such as "Empire State Building" or "Statue of Liberty."
+    */
+   POINT_OF_INTEREST("point_of_interest"),
+ 
+   /** A place that has not yet been categorized. */
+   ESTABLISHMENT("establishment"),
+ 
+   /** The location of a bus stop. */
+   BUS_STATION("bus_station"),
+ 
+   /** The location of a train station. */
+   TRAIN_STATION("train_station"),
+ 
+   /** The location of a subway station. */
+   SUBWAY_STATION("subway_station"),
+ 
+   /** The location of a transit station. */
+   TRANSIT_STATION("transit_station"),
+ 
+   /** The location of a light rail station. */
+   LIGHT_RAIL_STATION("light_rail_station"),
+ 
+   /** The location of a church. */
+   CHURCH("church"),
+ 
+   /** The location of a primary school. */
+   PRIMARY_SCHOOL("primary_school"),
+ 
+   /** The location of a secondary school. */
+   SECONDARY_SCHOOL("secondary_school"),
+ 
+   /** The location of a finance institute. */
+   FINANCE("finance"),
+ 
+   /** The location of a post office. */
+   POST_OFFICE("post_office"),
+ 
+   /** The location of a place of worship. */
+   PLACE_OF_WORSHIP("place_of_worship"),
+ 
+   /**
+    * A grouping of geographic areas, such as locality and sublocality, used for mailing addresses in
+    * some countries.
+    */
+   POSTAL_TOWN("postal_town"),
+ 
+   /** Currently not a documented return type. */
+   SYNAGOGUE("synagogue"),
+ 
+   /** Currently not a documented return type. */
+   FOOD("food"),
+ 
+   /** Currently not a documented return type. */
+   GROCERY_OR_SUPERMARKET("grocery_or_supermarket"),
+ 
+   /** Currently not a documented return type. */
+   STORE("store"),
+ 
+   /** The location of a drugstore. */
+   DRUGSTORE("drugstore"),
+ 
+   /** Currently not a documented return type. */
+   LAWYER("lawyer"),
+ 
+   /** Currently not a documented return type. */
+   HEALTH("health"),
+ 
+   /** Currently not a documented return type. */
+   INSURANCE_AGENCY("insurance_agency"),
+ 
+   /** Currently not a documented return type. */
+   GAS_STATION("gas_station"),
+ 
+   /** Currently not a documented return type. */
+   CAR_DEALER("car_dealer"),
+ 
+   /** Currently not a documented return type. */
+   CAR_REPAIR("car_repair"),
+ 
+   /** Currently not a documented return type. */
+   MEAL_TAKEAWAY("meal_takeaway"),
+ 
+   /** Currently not a documented return type. */
+   FURNITURE_STORE("furniture_store"),
+ 
+   /** Currently not a documented return type. */
+   HOME_GOODS_STORE("home_goods_store"),
+ 
+   /** Currently not a documented return type. */
+   SHOPPING_MALL("shopping_mall"),
+ 
+   /** Currently not a documented return type. */
+   GYM("gym"),
+ 
+   /** Currently not a documented return type. */
+   ACCOUNTING("accounting"),
+ 
+   /** Currently not a documented return type. */
+   MOVING_COMPANY("moving_company"),
+ 
+   /** Currently not a documented return type. */
+   LODGING("lodging"),
+ 
+   /** Currently not a documented return type. */
+   STORAGE("storage"),
+ 
+   /** Currently not a documented return type. */
+   CASINO("casino"),
+ 
+   /** Currently not a documented return type. */
+   PARKING("parking"),
+ 
+   /** Currently not a documented return type. */
+   STADIUM("stadium"),
+ 
+   /** Currently not a documented return type. */
+   TRAVEL_AGENCY("travel_agency"),
+ 
+   /** Currently not a documented return type. */
+   NIGHT_CLUB("night_club"),
+ 
+   /** Currently not a documented return type. */
+   BEAUTY_SALON("beauty_salon"),
+ 
+   /** Currently not a documented return type. */
+   HAIR_CARE("hair_care"),
+ 
+   /** Currently not a documented return type. */
+   SPA("spa"),
+ 
+   /** Currently not a documented return type. */
+   SHOE_STORE("shoe_store"),
+ 
+   /** Currently not a documented return type. */
+   BAKERY("bakery"),
+ 
+   /** Currently not a documented return type. */
+   PHARMACY("pharmacy"),
+ 
+   /** Currently not a documented return type. */
+   SCHOOL("school"),
+ 
+   /** Currently not a documented return type. */
+   BOOK_STORE("book_store"),
+ 
+   /** Currently not a documented return type. */
+   DEPARTMENT_STORE("department_store"),
+ 
+   /** Currently not a documented return type. */
+   RESTAURANT("restaurant"),
+ 
+   /** Currently not a documented return type. */
+   REAL_ESTATE_AGENCY("real_estate_agency"),
+ 
+   /** Currently not a documented return type. */
+   BAR("bar"),
+ 
+   /** Currently not a documented return type. */
+   DOCTOR("doctor"),
+ 
+   /** Currently not a documented return type. */
+   HOSPITAL("hospital"),
+ 
+   /** Currently not a documented return type. */
+   FIRE_STATION("fire_station"),
+ 
+   /** Currently not a documented return type. */
+   SUPERMARKET("supermarket"),
+ 
+   /** Currently not a documented return type. */
+   CITY_HALL("city_hall"),
+ 
+   /** Currently not a documented return type. */
+   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
+ 
+   /** Currently not a documented return type. */
+   ATM("atm"),
+ 
+   /** Currently not a documented return type. */
+   BANK("bank"),
+ 
+   /** Currently not a documented return type. */
+   LIBRARY("library"),
+ 
+   /** Currently not a documented return type. */
+   CAR_WASH("car_wash"),
+ 
+   /** Currently not a documented return type. */
+   HARDWARE_STORE("hardware_store"),
+ 
+   /** Currently not a documented return type. */
+   AMUSEMENT_PARK("amusement_park"),
+ 
+   /** Currently not a documented return type. */
+   AQUARIUM("aquarium"),
+ 
+   /** Currently not a documented return type. */
+   ART_GALLERY("art_gallery"),
+ 
+   /** Currently not a documented return type. */
+   BICYCLE_STORE("bicycle_store"),
+ 
+   /** Currently not a documented return type. */
+   BOWLING_ALLEY("bowling_alley"),
+ 
+   /** Currently not a documented return type. */
+   CAFE("cafe"),
+ 
+   /** Currently not a documented return type. */
+   CAMPGROUND("campground"),
+ 
+   /** Currently not a documented return type. */
+   CAR_RENTAL("car_rental"),
+ 
+   /** Currently not a documented return type. */
+   CEMETERY("cemetery"),
+ 
+   /** Currently not a documented return type. */
+   CLOTHING_STORE("clothing_store"),
+ 
+   /** Currently not a documented return type. */
+   CONVENIENCE_STORE("convenience_store"),
+ 
+   /** Currently not a documented return type. */
+   COURTHOUSE("courthouse"),
+ 
+   /** Currently not a documented return type. */
+   DENTIST("dentist"),
+ 
+   /** Currently not a documented return type. */
+   ELECTRICIAN("electrician"),
+ 
+   /** Currently not a documented return type. */
+   ELECTRONICS_STORE("electronics_store"),
+ 
+   /** Currently not a documented return type. */
+   EMBASSY("embassy"),
+ 
+   /** Currently not a documented return type. */
+   FLORIST("florist"),
+ 
+   /** Currently not a documented return type. */
+   FUNERAL_HOME("funeral_home"),
+ 
+   /** Currently not a documented return type. */
+   GENERAL_CONTRACTOR("general_contractor"),
+ 
+   /** Currently not a documented return type. */
+   HINDU_TEMPLE("hindu_temple"),
+ 
+   /** Currently not a documented return type. */
+   JEWELRY_STORE("jewelry_store"),
+ 
+   /** Currently not a documented return type. */
+   LAUNDRY("laundry"),
+ 
+   /** Currently not a documented return type. */
+   LIQUOR_STORE("liquor_store"),
+ 
+   /** Currently not a documented return type. */
+   LOCKSMITH("locksmith"),
+ 
+   /** Currently not a documented return type. */
+   MEAL_DELIVERY("meal_delivery"),
+ 
+   /** Currently not a documented return type. */
+   MOSQUE("mosque"),
+ 
+   /** Currently not a documented return type. */
+   MOVIE_RENTAL("movie_rental"),
+ 
+   /** Currently not a documented return type. */
+   MOVIE_THEATER("movie_theater"),
+ 
+   /** Currently not a documented return type. */
+   PAINTER("painter"),
+ 
+   /** Currently not a documented return type. */
+   PET_STORE("pet_store"),
+ 
+   /** Currently not a documented return type. */
+   PHYSIOTHERAPIST("physiotherapist"),
+ 
+   /** Currently not a documented return type. */
+   PLUMBER("plumber"),
+ 
+   /** Currently not a documented return type. */
+   POLICE("police"),
+ 
+   /** Currently not a documented return type. */
+   ROOFING_CONTRACTOR("roofing_contractor"),
+ 
+   /** Currently not a documented return type. */
+   RV_PARK("rv_park"),
+ 
+   /** Currently not a documented return type. */
+   TAXI_STAND("taxi_stand"),
+ 
+   /** Currently not a documented return type. */
+   VETERINARY_CARE("veterinary_care"),
+ 
+   /** Currently not a documented return type. */
+   ZOO("zoo"),
+ 
+   /** An archipelago. */
+   ARCHIPELAGO("archipelago"),
+ 
+   /** A tourist attraction */
+   TOURIST_ATTRACTION("tourist_attraction"),
+ 
+   /** Currently not a documented return type. */
+   TOWN_SQUARE("town_square"),
+ 
+   /**
+    * Indicates an unknown address type returned by the server. The Java Client for Google Maps
+    * Services should be updated to support the new value.
+    */
+   UNKNOWN("unknown");
+ 
+   private final String addressType;
+ 
+   AddressType(final String addressType) {
+     this.addressType = addressType;
+   }
+ 
+   @Override
+   public String toString() {
+     return addressType;
+   }
+ 
+   public String toCanonicalLiteral() {
+     return toString();
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     if (this == UNKNOWN) {
+       throw new UnsupportedOperationException("Shouldn't use AddressType.UNKNOWN in a request.");
+     }
+     return addressType;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-30.html b/CodeCoverageReport/ns-7/sources/source-30.html new file mode 100644 index 000000000..ba275c581 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-30.html @@ -0,0 +1,140 @@ + + + + + + + + Coverage Report > TrafficModel + + + + + + +
+ + +

Coverage Summary for Class: TrafficModel (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
TrafficModel + + 100% + + + (1/1) + + + + 100% + + + (3/3) + + + + 100% + + + (6/6) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.util.Locale;
+ 
+ /** Specifies traffic prediction model when requesting future directions. */
+ public enum TrafficModel implements UrlValue {
+   BEST_GUESS,
+   OPTIMISTIC,
+   PESSIMISTIC;
+ 
+   @Override
+   public String toString() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-31.html b/CodeCoverageReport/ns-7/sources/source-31.html new file mode 100644 index 000000000..e8904eebb --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-31.html @@ -0,0 +1,169 @@ + + + + + + + + Coverage Report > TransitAgency + + + + + + +
+ + +

Coverage Summary for Class: TransitAgency (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
TransitAgency + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The operator of a line.
+  *
+  * <p>See <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+  * Details</a> for more detail.
+  */
+ public class TransitAgency implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The name of the transit agency. */
+   public String name;
+ 
+   /** The URL for the transit agency. */
+   public String url;
+ 
+   /** The phone number of the transit agency. */
+   public String phone;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[TransitAgency: ");
+     sb.append(name);
+     if (url != null) {
+       sb.append(", url=").append(url);
+     }
+     if (phone != null) {
+       sb.append(", phone=").append(phone);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-32.html b/CodeCoverageReport/ns-7/sources/source-32.html new file mode 100644 index 000000000..14a92e051 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-32.html @@ -0,0 +1,199 @@ + + + + + + + + Coverage Report > TransitDetails + + + + + + +
+ + +

Coverage Summary for Class: TransitDetails (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
TransitDetails + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/4) + + + + 0% + + + (0/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.time.ZonedDateTime;
+ 
+ /**
+  * Transit directions return additional information that is not relevant for other modes of
+  * transportation. These additional properties are exposed through the {@code TransitDetails}
+  * object, returned as a field of an element in the {@code steps} array. From the {@code
+  * TransitDetails} object you can access additional information about the transit stop, transit
+  * line, and transit agency.
+  */
+ public class TransitDetails implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** Information about the arrival stop/station for this part of the trip. */
+   public StopDetails arrivalStop;
+ 
+   /** Information about the departure stop/station for this part of the trip. */
+   public StopDetails departureStop;
+ 
+   /** The arrival time for this leg of the journey. */
+   public ZonedDateTime arrivalTime;
+ 
+   /** The departure time for this leg of the journey. */
+   public ZonedDateTime departureTime;
+ 
+   /**
+    * The direction in which to travel on this line, as it is marked on the vehicle or at the
+    * departure stop. This will often be the terminus station.
+    */
+   public String headsign;
+ 
+   /**
+    * The expected number of seconds between departures from the same stop at this time. For example,
+    * with a headway value of 600, you would expect a ten minute wait if you should miss your bus.
+    */
+   public long headway;
+ 
+   /**
+    * The number of stops in this step, counting the arrival stop, but not the departure stop. For
+    * example, if your directions involve leaving from Stop A, passing through stops B and C, and
+    * arriving at stop D, {@code numStops} will equal 3.
+    */
+   public int numStops;
+ 
+   /** Information about the transit line used in this step. */
+   public TransitLine line;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[");
+     sb.append(departureStop).append(" at ").append(departureTime);
+     sb.append(" -> ");
+     sb.append(arrivalStop).append(" at ").append(arrivalTime);
+     if (headsign != null) {
+       sb.append(" (").append(headsign).append(" )");
+     }
+     if (line != null) {
+       sb.append(" on ").append(line);
+     }
+     sb.append(", ").append(numStops).append(" stops");
+     sb.append(", headway=").append(headway).append(" s");
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-33.html b/CodeCoverageReport/ns-7/sources/source-33.html new file mode 100644 index 000000000..116aea856 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-33.html @@ -0,0 +1,172 @@ + + + + + + + + Coverage Report > TransitLine + + + + + + +
+ + +

Coverage Summary for Class: TransitLine (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
TransitLine + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The transit line used in a step.
+  *
+  * <p>See <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+  * Details</a> for more detail.
+  */
+ public class TransitLine implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The full name of this transit line. E.g. {@code "7 Avenue Express"}. */
+   public String name;
+ 
+   /**
+    * The short name of this transit line. This will normally be a line number, such as {@code "M7"}
+    * or {@code "355"}.
+    */
+   public String shortName;
+ 
+   /**
+    * The color commonly used in signage for this transit line. The color will be specified as a hex
+    * string, such as {@code "#FF0033"}.
+    */
+   public String color;
+ 
+   /** Information about the operator(s) of this transit line. */
+   public TransitAgency[] agencies;
+ 
+   /** The URL for this transit line as provided by the transit agency. */
+   public String url;
+ 
+   /** The URL for the icon associated with this transit line. */
+   public String icon;
+ 
+   /**
+    * The color of text commonly used for signage of this transit line. The color will be specified
+    * as a hex string, such as {@code "#FF0033"}.
+    */
+   public String textColor;
+ 
+   /** The type of vehicle used on this transit line. */
+   public Vehicle vehicle;
+ 
+   @Override
+   public String toString() {
+     return String.format("%s \"%s\"", shortName, name);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-34.html b/CodeCoverageReport/ns-7/sources/source-34.html new file mode 100644 index 000000000..55a90698e --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-34.html @@ -0,0 +1,144 @@ + + + + + + + + Coverage Report > TransitMode + + + + + + +
+ + +

Coverage Summary for Class: TransitMode (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
TransitMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 87.5% + + + (7/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.util.Locale;
+ 
+ /** You may specify transit mode when requesting transit directions or distances. */
+ public enum TransitMode implements UrlValue {
+   BUS,
+   SUBWAY,
+   TRAIN,
+   TRAM,
+ 
+   /** Indicates preferred travel by train, tram, light rail and subway. */
+   RAIL;
+ 
+   @Override
+   public String toString() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-35.html b/CodeCoverageReport/ns-7/sources/source-35.html new file mode 100644 index 000000000..0513cd7f7 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-35.html @@ -0,0 +1,124 @@ + + + + + + + + Coverage Report > TransitRoutingPreference + + + + + + +
+ + +

Coverage Summary for Class: TransitRoutingPreference (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
TransitRoutingPreference + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (4/5) + +
+ +
+
+ + +
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.util.Locale;
+ 
+ /** Indicates user preference when requesting transit directions. */
+ public enum TransitRoutingPreference implements UrlValue {
+   LESS_WALKING,
+   FEWER_TRANSFERS;
+ 
+   @Override
+   public String toString() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-36.html b/CodeCoverageReport/ns-7/sources/source-36.html new file mode 100644 index 000000000..84a3fc172 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-36.html @@ -0,0 +1,170 @@ + + + + + + + + Coverage Report > TravelMode + + + + + + +
+ + +

Coverage Summary for Class: TravelMode (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
TravelMode + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 100% + + + (2/2) + + + + 90% + + + (9/10) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.util.Locale;
+ 
+ /**
+  * You may specify the transportation mode to use for calulating directions. Directions are
+  * calculating as driving directions by default.
+  *
+  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#TravelModes">
+  *     Directions API travel modes</a>
+  * @see <a href="https://developers.google.com/maps/documentation/distance-matrix/intro">Distance
+  *     Matrix API Intro</a>
+  */
+ public enum TravelMode implements UrlValue {
+   DRIVING,
+   WALKING,
+   BICYCLING,
+   TRANSIT,
+ 
+   /**
+    * Indicates an unknown travel mode returned by the server. The Java Client for Google Maps
+    * Services should be updated to support the new value.
+    */
+   UNKNOWN;
+ 
+   @Override
+   public String toString() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     if (this == UNKNOWN) {
+       throw new UnsupportedOperationException("Shouldn't use TravelMode.UNKNOWN in a request.");
+     }
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-37.html b/CodeCoverageReport/ns-7/sources/source-37.html new file mode 100644 index 000000000..3b68cb069 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-37.html @@ -0,0 +1,139 @@ + + + + + + + + Coverage Report > Unit + + + + + + +
+ + +

Coverage Summary for Class: Unit (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Unit + + 100% + + + (1/1) + + + + 66.7% + + + (2/3) + + + + 80% + + + (4/5) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import com.google.maps.internal.StringJoin.UrlValue;
+ import java.util.Locale;
+ 
+ /** Units of measurement. */
+ public enum Unit implements UrlValue {
+   METRIC,
+   IMPERIAL;
+ 
+   @Override
+   public String toString() {
+     return toUrlValue();
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return name().toLowerCase(Locale.ENGLISH);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-38.html b/CodeCoverageReport/ns-7/sources/source-38.html new file mode 100644 index 000000000..fe5507481 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-38.html @@ -0,0 +1,154 @@ + + + + + + + + Coverage Report > Vehicle + + + + + + +
+ + +

Coverage Summary for Class: Vehicle (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Vehicle + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * The vehicle used on a line.
+  *
+  * <p>See <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+  * details</a> for more detail.
+  */
+ public class Vehicle implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The name of the vehicle on this line. E.g. {@code "Subway"}. */
+   public String name;
+ 
+   /**
+    * The type of vehicle that runs on this line. See the {@link com.google.maps.model.VehicleType
+    * VehicleType} documentation for a complete list of supported values.
+    */
+   public VehicleType type;
+ 
+   /** The URL for an icon associated with this vehicle type. */
+   public String icon;
+ 
+   /** The URL for an icon based on the local transport signage. */
+   public String localIcon;
+ 
+   @Override
+   public String toString() {
+     return String.format("%s (%s)", name, type);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-39.html b/CodeCoverageReport/ns-7/sources/source-39.html new file mode 100644 index 000000000..c12570e63 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-39.html @@ -0,0 +1,192 @@ + + + + + + + + Coverage Report > VehicleType + + + + + + +
+ + +

Coverage Summary for Class: VehicleType (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
VehicleType + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (19/19) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ /**
+  * The vehicle types.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro#VehicleType">
+  * Vehicle Type</a> for more detail.
+  */
+ public enum VehicleType {
+ 
+   /** Rail. */
+   RAIL,
+ 
+   /** Light rail transit. */
+   METRO_RAIL,
+ 
+   /** Underground light rail. */
+   SUBWAY,
+ 
+   /** Above ground light rail. */
+   TRAM,
+ 
+   /** Monorail. */
+   MONORAIL,
+ 
+   /** Heavy rail. */
+   HEAVY_RAIL,
+ 
+   /** Commuter rail. */
+   COMMUTER_TRAIN,
+ 
+   /** High speed train. */
+   HIGH_SPEED_TRAIN,
+ 
+   /** Long distance train. */
+   LONG_DISTANCE_TRAIN,
+ 
+   /** Bus. */
+   BUS,
+ 
+   /** Intercity bus. */
+   INTERCITY_BUS,
+ 
+   /** Trolleybus. */
+   TROLLEYBUS,
+ 
+   /**
+    * Share taxi is a kind of bus with the ability to drop off and pick up passengers anywhere on its
+    * route.
+    */
+   SHARE_TAXI,
+ 
+   /** Ferry. */
+   FERRY,
+ 
+   /**
+    * A vehicle that operates on a cable, usually on the ground. Aerial cable cars may be of the type
+    * {@code GONDOLA_LIFT}.
+    */
+   CABLE_CAR,
+ 
+   /** An aerial cable car. */
+   GONDOLA_LIFT,
+ 
+   /**
+    * A vehicle that is pulled up a steep incline by a cable. A Funicular typically consists of two
+    * cars, with each car acting as a counterweight for the other.
+    */
+   FUNICULAR,
+ 
+   /** All other vehicles will return this type. */
+   OTHER
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-3a.html b/CodeCoverageReport/ns-7/sources/source-3a.html new file mode 100644 index 000000000..ae0c6cbcd --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-3a.html @@ -0,0 +1,275 @@ + + + + + + + + Coverage Report > WifiAccessPoint + + + + + + +
+ + +

Coverage Summary for Class: WifiAccessPoint (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Branch, % + + Line, % +
WifiAccessPoint + + 75% + + + (3/4) + + + + 0% + + + (0/10) + + + + 46.2% + + + (12/26) + +
WifiAccessPoint$1
WifiAccessPoint$WifiAccessPointBuilder + + 100% + + + (7/7) + + + + 100% + + + (17/17) + +
Total + + 90.9% + + + (10/11) + + + + 0% + + + (0/10) + + + + 67.4% + + + (29/43) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * A WiFi access point.
+  *
+  * <p>The request body's {@code wifiAccessPoints} array must contain two or more WiFi access point
+  * objects. {@code macAddress} is required; all other fields are optional.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/maps/documentation/geolocation/intro#wifi_access_point_object">
+  * WiFi Access Point Objects</a> for more detail.
+  */
+ public class WifiAccessPoint implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   public WifiAccessPoint() {}
+ 
+   // constructor only used by the builder class below
+   private WifiAccessPoint(
+       String _macAddress,
+       Integer _signalStrength,
+       Integer _age,
+       Integer _channel,
+       Integer _signalToNoiseRatio) {
+     macAddress = _macAddress;
+     signalStrength = _signalStrength;
+     age = _age;
+     channel = _channel;
+     signalToNoiseRatio = _signalToNoiseRatio;
+   }
+   /**
+    * The MAC address of the WiFi node (required). Separators must be {@code :} (colon) and hex
+    * digits must use uppercase.
+    */
+   public String macAddress;
+   /** The current signal strength measured in dBm. */
+   public Integer signalStrength = null;
+   /** The number of milliseconds since this access point was detected. */
+   public Integer age = null;
+   /** The channel over which the client is communicating with the access point. */
+   public Integer channel = null;
+   /** The current signal to noise ratio measured in dB. */
+   public Integer signalToNoiseRatio = null;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[WifiAccessPoint:");
+     if (macAddress != null) {
+       sb.append(" macAddress=").append(macAddress);
+     }
+     if (signalStrength != null) {
+       sb.append(" signalStrength=").append(signalStrength);
+     }
+     if (age != null) {
+       sb.append(" age=").append(age);
+     }
+     if (channel != null) {
+       sb.append(" channel=").append(channel);
+     }
+     if (signalToNoiseRatio != null) {
+       sb.append(" signalToNoiseRatio=").append(signalToNoiseRatio);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ 
+   public static class WifiAccessPointBuilder {
+     private String _macAddress = null;
+     private Integer _signalStrength = null;
+     private Integer _age = null;
+     private Integer _channel = null;
+     private Integer _signalToNoiseRatio = null;
+ 
+     // create the actual wifi access point
+     public WifiAccessPoint createWifiAccessPoint() {
+       return new WifiAccessPoint(_macAddress, _signalStrength, _age, _channel, _signalToNoiseRatio);
+     }
+ 
+     public WifiAccessPointBuilder MacAddress(String newMacAddress) {
+       this._macAddress = newMacAddress;
+       return this;
+     }
+ 
+     public WifiAccessPointBuilder SignalStrength(int newSignalStrength) {
+       this._signalStrength = newSignalStrength;
+       return this;
+     }
+ 
+     public WifiAccessPointBuilder Age(int newAge) {
+       this._age = newAge;
+       return this;
+     }
+ 
+     public WifiAccessPointBuilder Channel(int newChannel) {
+       this._channel = newChannel;
+       return this;
+     }
+ 
+     public WifiAccessPointBuilder SignalToNoiseRatio(int newSignalToNoiseRatio) {
+       this._signalToNoiseRatio = newSignalToNoiseRatio;
+       return this;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-4.html b/CodeCoverageReport/ns-7/sources/source-4.html new file mode 100644 index 000000000..4e6c99a8a --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-4.html @@ -0,0 +1,271 @@ + + + + + + + + Coverage Report > AutocompletePrediction + + + + + + +
+ + +

Coverage Summary for Class: AutocompletePrediction (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Line, % +
AutocompletePrediction + + 100% + + + (2/2) + + + + 100% + + + (6/6) + +
AutocompletePrediction$MatchedSubstring + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
AutocompletePrediction$Term + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
Total + + 100% + + + (6/6) + + + + 100% + + + (10/10) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.util.Arrays;
+ import java.util.Objects;
+ 
+ /**
+  * Represents a single Autocomplete result returned from the Google Places API Web Service.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/places/web-service/query#query_autocomplete_responses">Query
+  * Autocomplete Responses</a> for more detail.
+  */
+ public class AutocompletePrediction implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** Description of the matched prediction. */
+   public String description;
+ 
+   /** The Place ID of the place. */
+   public String placeId;
+ 
+   /**
+    * An array indicating the type of the address component.
+    *
+    * <p>Please see <a href="https://developers.google.com/places/supported_types">supported
+    * types</a> for a list of types that can be returned.
+    */
+   public String types[];
+ 
+   /**
+    * An array of terms identifying each section of the returned description. (A section of the
+    * description is generally terminated with a comma.) Each entry in the array has a value field,
+    * containing the text of the term, and an offset field, defining the start position of this term
+    * in the description, measured in Unicode characters.
+    */
+   public Term terms[];
+ 
+   /**
+    * The distance in meters of the place from the {@link
+    * com.google.maps.PlaceAutocompleteRequest#origin(LatLng)}. Optional.
+    */
+   public Integer distanceMeters;
+ 
+   /**
+    * Describes the location of the entered term in the prediction result text, so that the term can
+    * be highlighted if desired.
+    */
+   public static class MatchedSubstring implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     /** The length of the matched substring, measured in Unicode characters. */
+     public int length;
+ 
+     /** The start position of the matched substring, measured in Unicode characters. */
+     public int offset;
+ 
+     @Override
+     public String toString() {
+       return String.format("(offset=%d, length=%d)", offset, length);
+     }
+   }
+ 
+   /**
+    * The locations of the entered term in the prediction result text, so that the term can be
+    * highlighted if desired.
+    */
+   public MatchedSubstring matchedSubstrings[];
+ 
+   /** A description of how the autocomplete query matched the returned result. */
+   public AutocompleteStructuredFormatting structuredFormatting;
+ 
+   /**
+    * Identifies each section of the returned description. (A section of the description is generally
+    * terminated with a comma.)
+    */
+   public static class Term implements Serializable {
+ 
+     private static final long serialVersionUID = 1L;
+ 
+     /** The start position of this term in the description, measured in Unicode characters. */
+     public int offset;
+ 
+     /** The text of the matched term. */
+     public String value;
+ 
+     @Override
+     public String toString() {
+       return String.format("(offset=%d, value=%s)", offset, value);
+     }
+   }
+ 
+   @Override
+   public String toString() {
+     return String.format(
+         "[AutocompletePrediction: \"%s\", placeId=%s, types=%s, terms=%s, "
+             + "matchedSubstrings=%s, structuredFormatting=%s]",
+         description,
+         placeId,
+         Arrays.toString(types),
+         Arrays.toString(terms),
+         Arrays.toString(matchedSubstrings),
+         Objects.toString(structuredFormatting));
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-5.html b/CodeCoverageReport/ns-7/sources/source-5.html new file mode 100644 index 000000000..0008fe3c8 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-5.html @@ -0,0 +1,162 @@ + + + + + + + + Coverage Report > AutocompleteStructuredFormatting + + + + + + +
+ + +

Coverage Summary for Class: AutocompleteStructuredFormatting (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
AutocompleteStructuredFormatting + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 50% + + + (1/2) + + + + 100% + + + (8/8) + +
+ +
+
+ + +
+ /*
+  * Copyright 2017 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.util.Arrays;
+ 
+ /** The structured formatting info for a {@link com.google.maps.model.AutocompletePrediction}. */
+ public class AutocompleteStructuredFormatting implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** The main text of a prediction, usually the name of the place. */
+   public String mainText;
+ 
+   /** Where the query matched the returned main text. */
+   public AutocompletePrediction.MatchedSubstring mainTextMatchedSubstrings[];
+ 
+   /** The secondary text of a prediction, usually the location of the place. */
+   public String secondaryText;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("(");
+     sb.append("\"").append(mainText).append("\"");
+     sb.append(" at ").append(Arrays.toString(mainTextMatchedSubstrings));
+     if (secondaryText != null) {
+       sb.append(", secondaryText=\"").append(secondaryText).append("\"");
+     }
+     sb.append(")");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-6.html b/CodeCoverageReport/ns-7/sources/source-6.html new file mode 100644 index 000000000..fbacdf1ef --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-6.html @@ -0,0 +1,137 @@ + + + + + + + + Coverage Report > Bounds + + + + + + +
+ + +

Coverage Summary for Class: Bounds (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Bounds + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (2/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** The northeast and southwest points that delineate the outer bounds of a map. */
+ public class Bounds implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /** The northeast corner of the bounding box. */
+   public LatLng northeast;
+   /** The southwest corner of the bounding box. */
+   public LatLng southwest;
+ 
+   @Override
+   public String toString() {
+     return String.format("[%s, %s]", northeast, southwest);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-7.html b/CodeCoverageReport/ns-7/sources/source-7.html new file mode 100644 index 000000000..1017d4677 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-7.html @@ -0,0 +1,285 @@ + + + + + + + + Coverage Report > CellTower + + + + + + +
+ + +

Coverage Summary for Class: CellTower (com.google.maps.model)

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Class + Method, % + + Line, % +
CellTower + + 75% + + + (3/4) + + + + 89.5% + + + (17/19) + +
CellTower$1
CellTower$CellTowerBuilder + + 100% + + + (9/9) + + + + 100% + + + (23/23) + +
Total + + 92.3% + + + (12/13) + + + + 95.2% + + + (40/42) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * A cell tower object.
+  *
+  * <p>The Geolocation API request body's cellTowers array contains zero or more cell tower objects.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/maps/documentation/geolocation/intro#cell_tower_object">Cell
+  * Tower Object</a> for more detail.
+  */
+ public class CellTower implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   public CellTower() {}
+ 
+   // constructor only used by the builder class below
+   private CellTower(
+       Integer _cellId,
+       Integer _locationAreaCode,
+       Integer _mobileCountryCode,
+       Integer _mobileNetworkCode,
+       Integer _age,
+       Integer _signalStrength,
+       Integer _timingAdvance) {
+     this.cellId = _cellId;
+     this.locationAreaCode = _locationAreaCode;
+     this.mobileCountryCode = _mobileCountryCode;
+     this.mobileNetworkCode = _mobileNetworkCode;
+     this.age = _age;
+     this.signalStrength = _signalStrength;
+     this.timingAdvance = _timingAdvance;
+   }
+   /**
+    * Unique identifier of the cell (required). On GSM, this is the Cell ID (CID); CDMA networks use
+    * the Base Station ID (BID). WCDMA networks use the UTRAN/GERAN Cell Identity (UC-Id), which is a
+    * 32-bit value concatenating the Radio Network Controller (RNC) and Cell ID. Specifying only the
+    * 16-bit Cell ID value in WCDMA networks may return inaccurate results.
+    */
+   public Integer cellId = null;
+   /**
+    * The Location Area Code (LAC) for GSM and WCDMAnetworks or The Network ID (NID) for CDMA
+    * networks (required).
+    */
+   public Integer locationAreaCode = null;
+   /** The cell tower's Mobile Country Code (MCC) (required). */
+   public Integer mobileCountryCode = null;
+   /**
+    * The cell tower's Mobile Network Code (required). This is the MNC for GSM and WCDMA; CDMA uses
+    * the System ID (SID).
+    */
+   public Integer mobileNetworkCode = null;
+   /* The following optional fields are not currently used, but may be included if values are available. */
+   /**
+    * The number of milliseconds since this cell was primary. If age is 0, the cellId represents a
+    * current measurement.
+    */
+   public Integer age = null;
+   /** Radio signal strength measured in dBm. */
+   public Integer signalStrength = null;
+   /** The timing advance value. */
+   public Integer timingAdvance = null;
+ 
+   @Override
+   public String toString() {
+     return String.format(
+         "[CellTower: cellId=%s, locationAreaCode=%s, mobileCountryCode=%s, "
+             + "mobileNetworkCode=%s, age=%s, signalStrength=%s, timingAdvance=%s]",
+         cellId,
+         locationAreaCode,
+         mobileCountryCode,
+         mobileNetworkCode,
+         age,
+         signalStrength,
+         timingAdvance);
+   }
+ 
+   public static class CellTowerBuilder {
+     private Integer _cellId = null;
+     private Integer _locationAreaCode = null;
+     private Integer _mobileCountryCode = null;
+     private Integer _mobileNetworkCode = null;
+     private Integer _age = null;
+     private Integer _signalStrength = null;
+     private Integer _timingAdvance = null;
+ 
+     // create the actual cell tower
+     public CellTower createCellTower() {
+       return new CellTower(
+           _cellId,
+           _locationAreaCode,
+           _mobileCountryCode,
+           _mobileNetworkCode,
+           _age,
+           _signalStrength,
+           _timingAdvance);
+     }
+ 
+     public CellTowerBuilder CellId(int newCellId) {
+       this._cellId = newCellId;
+       return this;
+     }
+ 
+     public CellTowerBuilder LocationAreaCode(int newLocationAreaCode) {
+       this._locationAreaCode = newLocationAreaCode;
+       return this;
+     }
+ 
+     public CellTowerBuilder MobileCountryCode(int newMobileCountryCode) {
+       this._mobileCountryCode = newMobileCountryCode;
+       return this;
+     }
+ 
+     public CellTowerBuilder MobileNetworkCode(int newMobileNetworkCode) {
+       this._mobileNetworkCode = newMobileNetworkCode;
+       return this;
+     }
+ 
+     public CellTowerBuilder Age(int newAge) {
+       this._age = newAge;
+       return this;
+     }
+ 
+     public CellTowerBuilder SignalStrength(int newSignalStrength) {
+       this._signalStrength = newSignalStrength;
+       return this;
+     }
+ 
+     public CellTowerBuilder TimingAdvance(int newTimingAdvance) {
+       this._timingAdvance = newTimingAdvance;
+       return this;
+     }
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-8.html b/CodeCoverageReport/ns-7/sources/source-8.html new file mode 100644 index 000000000..f9016afda --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-8.html @@ -0,0 +1,209 @@ + + + + + + + + Coverage Report > ComponentFilter + + + + + + +
+ + +

Coverage Summary for Class: ComponentFilter (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
ComponentFilter + + 100% + + + (1/1) + + + + 75% + + + (6/8) + + + + 81.8% + + + (9/11) + +
+ +
+
+ + +
+ /*
+  * Copyright 2016 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import static com.google.maps.internal.StringJoin.join;
+ 
+ import com.google.maps.internal.StringJoin;
+ 
+ /**
+  * A component filter for a geocode request. In a geocoding response, the Google Geocoding API can
+  * return address results restricted to a specific area. The restriction is specified using the
+  * components filter.
+  *
+  * <p>Please see <a
+  * href="https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering">Component
+  * Filtering</a> for more detail.
+  */
+ public class ComponentFilter implements StringJoin.UrlValue {
+   public final String component;
+   public final String value;
+ 
+   /**
+    * Constructs a component filter.
+    *
+    * @param component The component to filter.
+    * @param value The value of the filter.
+    */
+   public ComponentFilter(String component, String value) {
+     this.component = component;
+     this.value = value;
+   }
+ 
+   @Override
+   public String toString() {
+     return toUrlValue();
+   }
+ 
+   @Override
+   public String toUrlValue() {
+     return join(':', component, value);
+   }
+ 
+   /**
+    * Matches long or short name of a route.
+    *
+    * @param route The name of the route to filter on.
+    * @return Returns a {@link ComponentFilter}.
+    */
+   public static ComponentFilter route(String route) {
+     return new ComponentFilter("route", route);
+   }
+ 
+   /**
+    * Matches against both locality and sublocality types.
+    *
+    * @param locality The locality to filter on.
+    * @return Returns a {@link ComponentFilter}.
+    */
+   public static ComponentFilter locality(String locality) {
+     return new ComponentFilter("locality", locality);
+   }
+ 
+   /**
+    * Matches all the administrative area levels.
+    *
+    * @param administrativeArea The administrative area to filter on.
+    * @return Returns a {@link ComponentFilter}.
+    */
+   public static ComponentFilter administrativeArea(String administrativeArea) {
+     return new ComponentFilter("administrative_area", administrativeArea);
+   }
+ 
+   /**
+    * Matches postal code or postal code prefix.
+    *
+    * @param postalCode The postal code to filter on.
+    * @return Returns a {@link ComponentFilter}.
+    */
+   public static ComponentFilter postalCode(String postalCode) {
+     return new ComponentFilter("postal_code", postalCode);
+   }
+ 
+   /**
+    * Matches a country name or a two letter ISO 3166-1 country code.
+    *
+    * @param country The country to filter on.
+    * @return Returns a {@link ComponentFilter}.
+    */
+   public static ComponentFilter country(String country) {
+     return new ComponentFilter("country", country);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-9.html b/CodeCoverageReport/ns-7/sources/source-9.html new file mode 100644 index 000000000..5e7ff48c8 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-9.html @@ -0,0 +1,234 @@ + + + + + + + + Coverage Report > DirectionsLeg + + + + + + +
+ + +

Coverage Summary for Class: DirectionsLeg (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsLeg + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/6) + + + + 7.7% + + + (1/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.time.ZonedDateTime;
+ 
+ /**
+  * A component of a Directions API result.
+  *
+  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro#Legs">the Legs
+  * documentation</a> for more detail.
+  */
+ public class DirectionsLeg implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * Contains an array of steps denoting information about each separate step of this leg of the
+    * journey.
+    */
+   public DirectionsStep[] steps;
+ 
+   /** The total distance covered by this leg. */
+   public Distance distance;
+ 
+   /** The total duration of this leg. */
+   public Duration duration;
+ 
+   /**
+    * The total duration of this leg, taking into account current traffic conditions. The duration in
+    * traffic will only be returned if all of the following are true:
+    *
+    * <ol>
+    *   <li>The directions request includes a departureTime parameter set to a value within a few
+    *       minutes of the current time.
+    *   <li>The request includes a valid Maps for Work client and signature parameter.
+    *   <li>Traffic conditions are available for the requested route.
+    *   <li>The directions request does not include stopover waypoints.
+    * </ol>
+    */
+   public Duration durationInTraffic;
+ 
+   /**
+    * The estimated time of arrival for this leg. This property is only returned for transit
+    * directions.
+    */
+   public ZonedDateTime arrivalTime;
+ 
+   /**
+    * The estimated time of departure for this leg. The departureTime is only available for transit
+    * directions.
+    */
+   public ZonedDateTime departureTime;
+ 
+   /**
+    * The latitude/longitude coordinates of the origin of this leg. Because the Directions API
+    * calculates directions between locations by using the nearest transportation option (usually a
+    * road) at the start and end points, startLocation may be different from the provided origin of
+    * this leg if, for example, a road is not near the origin.
+    */
+   public LatLng startLocation;
+ 
+   /**
+    * The latitude/longitude coordinates of the given destination of this leg. Because the Directions
+    * API calculates directions between locations by using the nearest transportation option (usually
+    * a road) at the start and end points, endLocation may be different than the provided destination
+    * of this leg if, for example, a road is not near the destination.
+    */
+   public LatLng endLocation;
+ 
+   /**
+    * The human-readable address (typically a street address) reflecting the start location of this
+    * leg.
+    */
+   public String startAddress;
+ 
+   /**
+    * The human-readable address (typically a street address) reflecting the end location of this
+    * leg.
+    */
+   public String endAddress;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb =
+         new StringBuilder(
+             String.format(
+                 "[DirectionsLeg: \"%s\" -> \"%s\" (%s -> %s)",
+                 startAddress, endAddress, startLocation, endLocation));
+     if (departureTime != null) {
+       sb.append(", departureTime=").append(departureTime);
+     }
+     if (arrivalTime != null) {
+       sb.append(", arrivalTime=").append(arrivalTime);
+     }
+     if (durationInTraffic != null) {
+       sb.append(", durationInTraffic=").append(durationInTraffic);
+     }
+     sb.append(", duration=").append(duration);
+     sb.append(", distance=").append(distance);
+     sb.append(": ").append(steps.length).append(" steps]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-a.html b/CodeCoverageReport/ns-7/sources/source-a.html new file mode 100644 index 000000000..eaa09c550 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-a.html @@ -0,0 +1,147 @@ + + + + + + + + Coverage Report > DirectionsResult + + + + + + +
+ + +

Coverage Summary for Class: DirectionsResult (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
DirectionsResult + + 100% + + + (1/1) + + + + 100% + + + (1/1) + + + + 100% + + + (1/1) + +
+ +
+
+ + +
+ /*
+  * Copyright 2015 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * DirectionsResult represents a result from the Google Directions API Web Service.
+  *
+  * <p>Please see <a href="https://developers.google.com/maps/documentation/directions/intro">
+  * Directions API</a> for more detail.
+  */
+ public class DirectionsResult implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * Details about the geocoding of origin, destination, and waypoints. See <a
+    * href="https://developers.google.com/maps/documentation/directions/intro#GeocodedWaypoints">
+    * Geocoded Waypoints</a> for more detail.
+    */
+   public GeocodedWaypoint geocodedWaypoints[];
+ 
+   /**
+    * Routes from the origin to the destination. See <a
+    * href="https://developers.google.com/maps/documentation/directions/intro#Routes">Routes</a> for
+    * more detail.
+    */
+   public DirectionsRoute routes[];
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-b.html b/CodeCoverageReport/ns-7/sources/source-b.html new file mode 100644 index 000000000..3ede76d50 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-b.html @@ -0,0 +1,207 @@ + + + + + + + + Coverage Report > DirectionsRoute + + + + + + +
+ + +

Coverage Summary for Class: DirectionsRoute (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsRoute + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 33.3% + + + (2/6) + + + + 80% + + + (8/10) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ import java.util.Arrays;
+ 
+ /**
+  * A Directions API result. When the Directions API returns results, it places them within a routes
+  * array. Even if the service returns no results (such as if the origin and/or destination doesn't
+  * exist) it still returns an empty routes array.
+  *
+  * <p>Please see <a href="https://developers.google.com/maps/documentation/directions/intro#Routes">
+  * Routes</a> for more detail.
+  */
+ public class DirectionsRoute implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+   /**
+    * A short textual description for the route, suitable for naming and disambiguating the route
+    * from alternatives.
+    */
+   public String summary;
+ 
+   /**
+    * Information about legs of the route, between locations within the route. A separate leg will be
+    * present for each waypoint or destination specified. (A route with no waypoints will contain
+    * exactly one leg within the legs array.)
+    */
+   public DirectionsLeg[] legs;
+ 
+   /**
+    * Indicates the order of any waypoints in the calculated route. This waypoints may be reordered
+    * if the request was passed {@code optimize:true} within its {@code waypoints} parameter.
+    */
+   public int[] waypointOrder;
+ 
+   /** An approximate (smoothed) path of the resulting directions. */
+   public EncodedPolyline overviewPolyline;
+ 
+   /** The viewport bounding box of the overview_polyline. */
+   public Bounds bounds;
+ 
+   /**
+    * Copyrights text to be displayed for this route. You must handle and display this information
+    * yourself.
+    */
+   public String copyrights;
+ 
+   /**
+    * Information about the fare (that is, the ticket costs) on this route. This property is only
+    * returned for transit directions, and only for routes where fare information is available for
+    * all transit legs.
+    */
+   public Fare fare;
+ 
+   /**
+    * Warnings to be displayed when showing these directions. You must handle and display these
+    * warnings yourself.
+    */
+   public String[] warnings;
+ 
+   @Override
+   public String toString() {
+     String str =
+         String.format(
+             "[DirectionsRoute: \"%s\", %d legs, waypointOrder=%s, bounds=%s",
+             summary, legs.length, Arrays.toString(waypointOrder), bounds);
+     if (fare != null) {
+       str = str + ", fare=" + fare;
+     }
+     if (warnings != null && warnings.length > 0) {
+       str = str + ", " + warnings.length + " warnings";
+     }
+     str = str + "]";
+     return str;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-c.html b/CodeCoverageReport/ns-7/sources/source-c.html new file mode 100644 index 000000000..496c1e77f --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-c.html @@ -0,0 +1,221 @@ + + + + + + + + Coverage Report > DirectionsStep + + + + + + +
+ + +

Coverage Summary for Class: DirectionsStep (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DirectionsStep + + 0% + + + (0/1) + + + + 0% + + + (0/2) + + + + 0% + + + (0/6) + + + + 0% + + + (0/13) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * Each element in the steps of a {@link DirectionsLeg} defines a single step of the calculated
+  * directions. A step is the most atomic unit of a direction's route, containing a single step
+  * describing a specific, single instruction on the journey. E.g. "Turn left at W. 4th St." The step
+  * not only describes the instruction but also contains distance and duration information relating
+  * to how this step relates to the following step. For example, a step denoted as "Merge onto I-80
+  * West" may contain a duration of "37 miles" and "40 minutes," indicating that the next step is 37
+  * miles/40 minutes from this step.
+  *
+  * <p>When using the Directions API to search for transit directions, the steps array will include
+  * additional <a
+  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+  * Details</a> in the form of a {@code transitDetails} array. If the directions include multiple
+  * modes of transportation, detailed directions will be provided for walking or driving steps in a
+  * {@code steps} array. For example, a walking step will include directions from the start and end
+  * locations: "Walk to Innes Ave &amp; Fitch St". That step will include detailed walking directions
+  * for that route in the {@code steps} array, such as: "Head north-west", "Turn left onto Arelious
+  * Walker", and "Turn left onto Innes Ave".
+  */
+ public class DirectionsStep implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /** Formatted instructions for this step, presented as an HTML text string. */
+   public String htmlInstructions;
+ 
+   /** The distance covered by this step until the next step. */
+   public Distance distance;
+ 
+   /**
+    * The maneuver required to move ahead. E.g., turn-left. Please note, this field is undocumented,
+    * and thus should not be relied upon.
+    */
+   @Deprecated public String maneuver;
+ 
+   /** The typical time required to perform the step, until the next step. */
+   public Duration duration;
+ 
+   /** The location of the starting point of this step. */
+   public LatLng startLocation;
+ 
+   /** The location of the last point of this step. */
+   public LatLng endLocation;
+ 
+   /**
+    * Detailed directions for walking or driving steps in transit directions. Substeps are only
+    * available when travelMode is set to "transit".
+    */
+   public DirectionsStep[] steps;
+ 
+   /** The path of this step. */
+   public EncodedPolyline polyline;
+ 
+   /**
+    * The travel mode of this step. See <a
+    * href="https://developers.google.com/maps/documentation/directions/intro#TravelModes">Travel
+    * Modes</a> for more detail.
+    */
+   public TravelMode travelMode;
+ 
+   /**
+    * Transit-specific information. This field is only returned when travel_mode is set to "transit".
+    * See <a
+    * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
+    * Details</a> for more detail.
+    */
+   public TransitDetails transitDetails;
+ 
+   @Override
+   public String toString() {
+     StringBuilder sb = new StringBuilder("[DirectionsStep: ");
+     sb.append("\"").append(htmlInstructions).append("\"");
+     sb.append(String.format(" (%s -> %s", startLocation, endLocation)).append(")");
+     sb.append(" ").append(travelMode);
+     sb.append(", duration=").append(duration);
+     sb.append(", distance=").append(distance);
+     if (steps != null && steps.length > 0) {
+       sb.append(", ").append(steps.length).append(" substeps");
+     }
+     if (transitDetails != null) {
+       sb.append(", transitDetails=").append(transitDetails);
+     }
+     sb.append("]");
+     return sb.toString();
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-d.html b/CodeCoverageReport/ns-7/sources/source-d.html new file mode 100644 index 000000000..4438b6afc --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-d.html @@ -0,0 +1,145 @@ + + + + + + + + Coverage Report > Distance + + + + + + +
+ + +

Coverage Summary for Class: Distance (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
Distance + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 50% + + + (1/2) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /** The distance component for Directions API results. */
+ public class Distance implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * The numeric distance, in meters. This is intended to be used only in algorithmic situations,
+    * e.g. sorting results by some user specified metric.
+    */
+   public long inMeters;
+ 
+   /**
+    * The human-friendly distance. This is rounded and in an appropriate unit for the request. The
+    * units can be overridden with a request parameter.
+    */
+   public String humanReadable;
+ 
+   @Override
+   public String toString() {
+     return humanReadable;
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-e.html b/CodeCoverageReport/ns-7/sources/source-e.html new file mode 100644 index 000000000..aee285388 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-e.html @@ -0,0 +1,165 @@ + + + + + + + + Coverage Report > DistanceMatrix + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrix (com.google.maps.model)

+ + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Line, % +
DistanceMatrix + + 100% + + + (1/1) + + + + 100% + + + (2/2) + + + + 100% + + + (7/7) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * A complete result from a Distance Matrix API call.
+  *
+  * @see <a
+  *     href="https://developers.google.com/maps/documentation/distancematrix/#DistanceMatrixResponses">
+  *     Distance Matrix Results</a>
+  */
+ public class DistanceMatrix implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * Origin addresses as returned by the API from your original request. These are formatted by the
+    * geocoder and localized according to the language parameter passed with the request.
+    */
+   public final String[] originAddresses;
+ 
+   /**
+    * Destination addresses as returned by the API from your original request. As with {@link
+    * #originAddresses}, these are localized if appropriate.
+    */
+   public final String[] destinationAddresses;
+ 
+   /**
+    * An array of elements, each of which in turn contains a status, duration, and distance element.
+    */
+   public final DistanceMatrixRow[] rows;
+ 
+   public DistanceMatrix(
+       String[] originAddresses, String[] destinationAddresses, DistanceMatrixRow[] rows) {
+     this.originAddresses = originAddresses;
+     this.destinationAddresses = destinationAddresses;
+     this.rows = rows;
+   }
+ 
+   @Override
+   public String toString() {
+     return String.format(
+         "DistanceMatrix: %d origins x %d destinations, %d rows",
+         originAddresses.length, destinationAddresses.length, rows.length);
+   }
+ }
+
+
+
+ + + + + + diff --git a/CodeCoverageReport/ns-7/sources/source-f.html b/CodeCoverageReport/ns-7/sources/source-f.html new file mode 100644 index 000000000..fee492995 --- /dev/null +++ b/CodeCoverageReport/ns-7/sources/source-f.html @@ -0,0 +1,190 @@ + + + + + + + + Coverage Report > DistanceMatrixElement + + + + + + +
+ + +

Coverage Summary for Class: DistanceMatrixElement (com.google.maps.model)

+ + + + + + + + + + + + + + + + + +
Class + Class, % + + Method, % + + Branch, % + + Line, % +
DistanceMatrixElement + + 100% + + + (1/1) + + + + 50% + + + (1/2) + + + + 0% + + + (0/4) + + + + 11.1% + + + (1/9) + +
+ +
+
+ + +
+ /*
+  * Copyright 2014 Google Inc. All rights reserved.
+  *
+  *
+  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
+  * file except in compliance with the License. You may obtain a copy of the License at
+  *
+  *     http://www.apache.org/licenses/LICENSE-2.0
+  *
+  * Unless required by applicable law or agreed to in writing, software distributed under
+  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+  * ANY KIND, either express or implied. See the License for the specific language governing
+  * permissions and limitations under the License.
+  */
+ 
+ package com.google.maps.model;
+ 
+ import java.io.Serializable;
+ 
+ /**
+  * A single result corresponding to an origin/destination pair in a Distance Matrix response.
+  *
+  * <p>Be sure to check the status for each element, as a matrix response can have a mix of
+  * successful and failed elements depending on the connectivity of the origin and destination.
+  */
+ public class DistanceMatrixElement implements Serializable {
+ 
+   private static final long serialVersionUID = 1L;
+ 
+   /**
+    * The status of the request for this origin/destination pair.
+    *
+    * <p>Will be one of {@link com.google.maps.model.DistanceMatrixElementStatus}.
+    */
+   public DistanceMatrixElementStatus status;
+ 
+   /** The total duration of this leg. */
+   public Duration duration;
+ 
+   /**
+    * The length of time to travel this route, based on current and historical traffic conditions.
+    * The duration in traffic will only be returned if all of the following are true:
+    *
+    * <ol>
+    *   <li>The request includes a departureTime parameter.
+    *   <li>The request includes a valid API key or a valid Google Maps APIs Premium Plan client ID
+    *       and signature.
+    *   <li>Traffic conditions are available for the requested route.
+    *   <li>The mode parameter is set to driving.
+    * </ol>
+    */
+   public Duration durationInTraffic;
+ 
+   /** {@code distance} indicates the total distance covered by this leg. */
+   public Distance distance;
+ 
+   /** {@code fare} contains information about the fare (that is, the ticket costs) on this route. */
+   public Fare fare;
+ 
+   @Override
+   public String toString() {
+     String str =
+         String.format(
+             "[DistanceMatrixElement %s distance=%s, duration=%s", status, distance, duration);
+     if (durationInTraffic != null) {
+       str = str + ", durationInTraffic=" + durationInTraffic;
+     }
+     if (fare != null) {
+       str = str + ", fare=" + fare;
+     }
+     str = str + "]";
+     return str;
+   }
+ }
+
+
+
+ + + + + + From c19e5a6d13b7145ecd50066d6791cbe01e3c475d Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Thu, 2 Nov 2023 13:18:00 -0300 Subject: [PATCH 3/6] Added: Test Cases for improved coverage report --- README.md | 4 ++ .../com/google/maps/DirectionsApiTest.java | 36 ++++++++++++++- .../google/maps/internal/UrlSignerTest.java | 8 +++- .../google/maps/model/DirectionsStepTest.java | 45 +++++++++++++++++++ 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/google/maps/model/DirectionsStepTest.java diff --git a/README.md b/README.md index e899acfdc..1200fd488 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +# This is the forked version of the original repository. And few test cases are added to improve the code coverage. + +### Original repository: https://github.com/googlemaps/google-maps-services-java + Java Client for Google Maps Services ==================================== diff --git a/src/test/java/com/google/maps/DirectionsApiTest.java b/src/test/java/com/google/maps/DirectionsApiTest.java index 8baa37522..df3b979d6 100644 --- a/src/test/java/com/google/maps/DirectionsApiTest.java +++ b/src/test/java/com/google/maps/DirectionsApiTest.java @@ -38,6 +38,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; + +import org.hamcrest.MatcherAssert; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -72,7 +74,7 @@ public void testGetDirections() throws Exception { assertEquals(1, result.routes.length); assertNotNull(result.routes[0]); assertEquals("M31 and National Highway M31", result.routes[0].summary); - assertThat(result.routes[0].overviewPolyline.decodePath().size(), not(0)); + MatcherAssert.assertThat(result.routes[0].overviewPolyline.decodePath().size(), not(0)); assertEquals(1, result.routes[0].legs.length); assertEquals("Melbourne VIC, Australia", result.routes[0].legs[0].endAddress); assertEquals("Sydney NSW, Australia", result.routes[0].legs[0].startAddress); @@ -198,6 +200,22 @@ public void testSanFranciscoToSeattleByBicycleAvoidingIndoor() throws Exception } } + @Test + public void testNewYorkToNewJerseyByAlternateRoute() throws Exception { + try (LocalTestServerContext sc = + new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { + DirectionsApi.newRequest(sc.context) + .origin("New York") + .destination("New Jersey") + .alternatives(true) + .await(); + + sc.assertParamValue("New York", "origin"); + sc.assertParamValue("New Jersey", "destination"); + sc.assertParamValue("true", "alternatives"); + } + } + /** * Brooklyn to Queens by public transport. * @@ -242,6 +260,22 @@ public void testBostonToConcordViaCharlestownAndLexington() throws Exception { } } + @Test + public void testBostonToNewJerseyViaNewHavenWithPlaceId() throws Exception { + try (LocalTestServerContext sc = + new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { + DirectionsApi.newRequest(sc.context) + .origin("Boston,US") + .destination("New Jersey,US") + .waypointsFromPlaceIds("G5c1s86wd2d") // This is a custom dummy place ID for New Haven,US + .await(); + + sc.assertParamValue("Boston,US", "origin"); + sc.assertParamValue("New Jersey,US", "destination"); + sc.assertParamValue("place_id:G5c1s86wd2d", "waypoints"); + } + } + /** * Boston to Concord, via Charlestown and Lexington, using non-stopover waypoints. * diff --git a/src/test/java/com/google/maps/internal/UrlSignerTest.java b/src/test/java/com/google/maps/internal/UrlSignerTest.java index a7c0698ef..7c155c591 100644 --- a/src/test/java/com/google/maps/internal/UrlSignerTest.java +++ b/src/test/java/com/google/maps/internal/UrlSignerTest.java @@ -16,8 +16,7 @@ package com.google.maps.internal; import static java.nio.charset.StandardCharsets.UTF_8; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import com.google.maps.SmallTests; import java.util.ArrayList; @@ -52,6 +51,11 @@ public void testUrlSigner() throws Exception { assertEquals(SIGNATURE, urlSigner.getSignature(MESSAGE)); } + @Test + public void testUrlSignerInvalidPrivateKey() throws Exception { + assertThrows(IllegalArgumentException.class, () -> new UrlSigner("custom/Signer")); + } + @Test public void testMustSupportParallelSignatures() throws Exception { int attempts = 100; diff --git a/src/test/java/com/google/maps/model/DirectionsStepTest.java b/src/test/java/com/google/maps/model/DirectionsStepTest.java new file mode 100644 index 000000000..2f0e86552 --- /dev/null +++ b/src/test/java/com/google/maps/model/DirectionsStepTest.java @@ -0,0 +1,45 @@ +package com.google.maps.model; + +import org.junit.Test; + +import java.time.ZonedDateTime; + +import static org.junit.Assert.assertEquals; + +public class DirectionsStepTest { + + @Test + public void testDirectionsStepToString() { + Distance distance = new Distance(); + distance.humanReadable = "5 miles"; + distance.inMeters = 8046; + + Duration duration = new Duration(); + duration.humanReadable = "10 minutes"; + duration.inSeconds = 600; + + TransitDetails transitDetails = new TransitDetails(); + transitDetails.arrivalStop = new StopDetails(); + transitDetails.arrivalStop.location = new LatLng(37.123, -122.456); + transitDetails.arrivalStop.name = "Stop A"; + transitDetails.departureStop = new StopDetails(); + transitDetails.departureStop.location = new LatLng(37.456, -122.789); + transitDetails.departureStop.name = "Stop B"; + transitDetails.arrivalTime = ZonedDateTime.parse("2015-10-01T12:00:00-07:00"); + transitDetails.departureTime = ZonedDateTime.parse("2015-10-01T11:50:00-07:00"); + + DirectionsStep step = new DirectionsStep(); + step.htmlInstructions = "Turn left at W. 4th St."; + step.distance = distance; + step.duration = duration; + step.startLocation = new LatLng(37.123, -122.456); + step.endLocation = new LatLng(37.456, -122.789); + step.travelMode = TravelMode.DRIVING; + step.transitDetails = transitDetails; + + String expectedToString = "[DirectionsStep: \"Turn left at W. 4th St.\" (37.12300000,-122.45600000 -> 37.45600000,-122.78900000) driving, duration=10 minutes, distance=5 miles, transitDetails=[Stop B (37.45600000,-122.78900000) at 2015-10-01T11:50-07:00 -> Stop A (37.12300000,-122.45600000) at 2015-10-01T12:00-07:00, 0 stops, headway=0 s]]"; + String actualToString = step.toString(); + + assertEquals(expectedToString, actualToString); + } +} \ No newline at end of file From 5b98239b9d6d1a0ab8df8e8ea55b65d72bcc41cd Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Mon, 27 Nov 2023 15:57:27 -0400 Subject: [PATCH 4/6] reformatted code as per google java format --- .VSCodeCounter/2023-10-31_13-57-36/details.md | 227 -- .../2023-10-31_13-57-36/diff-details.md | 15 - .VSCodeCounter/2023-10-31_13-57-36/diff.csv | 2 - .VSCodeCounter/2023-10-31_13-57-36/diff.md | 19 - .VSCodeCounter/2023-10-31_13-57-36/diff.txt | 22 - .../2023-10-31_13-57-36/results.csv | 214 -- .../2023-10-31_13-57-36/results.json | 1 - .VSCodeCounter/2023-10-31_13-57-36/results.md | 49 - .../2023-10-31_13-57-36/results.txt | 264 --- .github/ISSUE_TEMPLATE/bug_report.md | 14 +- .github/ISSUE_TEMPLATE/feature_request.md | 19 +- .github/ISSUE_TEMPLATE/support_request.md | 11 +- .../pull_request_template.md | 8 +- .github/dependabot.yml | 14 +- .github/pull_request_template.md | 4 +- .github/stale.yml | 2 +- .github/sync-repo-settings.yaml | 40 +- .github/workflows/release.yml | 70 +- .github/workflows/test.yml | 18 +- CHANGELOG.md | 746 ++++--- CODE_OF_CONDUCT.md | 1 + CodeCoverageReport/css/coverage.css | 154 -- CodeCoverageReport/css/idea.min.css | 118 - CodeCoverageReport/img/arrowDown.gif | Bin 89 -> 0 bytes CodeCoverageReport/img/arrowUp.gif | Bin 91 -> 0 bytes CodeCoverageReport/index.html | 376 ---- CodeCoverageReport/index_SORT_BY_BLOCK.html | 376 ---- .../index_SORT_BY_BLOCK_DESC.html | 376 ---- CodeCoverageReport/index_SORT_BY_CLASS.html | 376 ---- .../index_SORT_BY_CLASS_DESC.html | 376 ---- CodeCoverageReport/index_SORT_BY_LINE.html | 376 ---- .../index_SORT_BY_LINE_DESC.html | 376 ---- CodeCoverageReport/index_SORT_BY_METHOD.html | 376 ---- .../index_SORT_BY_METHOD_DESC.html | 376 ---- .../index_SORT_BY_NAME_DESC.html | 376 ---- CodeCoverageReport/js/highlight.min.js | 1388 ------------ .../js/highlightjs-line-numbers.min.js | 24 - CodeCoverageReport/ns-1/index.html | 1119 ---------- .../ns-1/index_SORT_BY_BLOCK.html | 1119 ---------- .../ns-1/index_SORT_BY_BLOCK_DESC.html | 1119 ---------- .../ns-1/index_SORT_BY_CLASS.html | 1119 ---------- .../ns-1/index_SORT_BY_CLASS_DESC.html | 1119 ---------- .../ns-1/index_SORT_BY_LINE.html | 1119 ---------- .../ns-1/index_SORT_BY_LINE_DESC.html | 1119 ---------- .../ns-1/index_SORT_BY_METHOD.html | 1119 ---------- .../ns-1/index_SORT_BY_METHOD_DESC.html | 1119 ---------- .../ns-1/index_SORT_BY_NAME_DESC.html | 1119 ---------- CodeCoverageReport/ns-1/sources/source-1.html | 304 --- .../ns-1/sources/source-10.html | 353 --- .../ns-1/sources/source-11.html | 319 --- .../ns-1/sources/source-12.html | 191 -- .../ns-1/sources/source-13.html | 414 ---- .../ns-1/sources/source-14.html | 392 ---- .../ns-1/sources/source-15.html | 331 --- .../ns-1/sources/source-16.html | 275 --- .../ns-1/sources/source-17.html | 338 --- .../ns-1/sources/source-18.html | 166 -- .../ns-1/sources/source-19.html | 169 -- .../ns-1/sources/source-1a.html | 138 -- .../ns-1/sources/source-1b.html | 731 ------- .../ns-1/sources/source-1c.html | 370 ---- .../ns-1/sources/source-1d.html | 234 -- .../ns-1/sources/source-1e.html | 152 -- CodeCoverageReport/ns-1/sources/source-2.html | 576 ----- CodeCoverageReport/ns-1/sources/source-3.html | 231 -- CodeCoverageReport/ns-1/sources/source-4.html | 321 --- CodeCoverageReport/ns-1/sources/source-5.html | 358 --- CodeCoverageReport/ns-1/sources/source-6.html | 490 ----- CodeCoverageReport/ns-1/sources/source-7.html | 297 --- CodeCoverageReport/ns-1/sources/source-8.html | 796 ------- CodeCoverageReport/ns-1/sources/source-9.html | 244 --- CodeCoverageReport/ns-1/sources/source-a.html | 270 --- CodeCoverageReport/ns-1/sources/source-b.html | 236 -- CodeCoverageReport/ns-1/sources/source-c.html | 224 -- CodeCoverageReport/ns-1/sources/source-d.html | 188 -- CodeCoverageReport/ns-1/sources/source-e.html | 388 ---- CodeCoverageReport/ns-1/sources/source-f.html | 156 -- CodeCoverageReport/ns-2/index.html | 363 ---- .../ns-2/index_SORT_BY_BLOCK.html | 363 ---- .../ns-2/index_SORT_BY_BLOCK_DESC.html | 363 ---- .../ns-2/index_SORT_BY_CLASS.html | 363 ---- .../ns-2/index_SORT_BY_CLASS_DESC.html | 363 ---- .../ns-2/index_SORT_BY_LINE.html | 363 ---- .../ns-2/index_SORT_BY_LINE_DESC.html | 363 ---- .../ns-2/index_SORT_BY_METHOD.html | 363 ---- .../ns-2/index_SORT_BY_METHOD_DESC.html | 363 ---- .../ns-2/index_SORT_BY_NAME_DESC.html | 363 ---- CodeCoverageReport/ns-2/sources/source-1.html | 128 -- CodeCoverageReport/ns-2/sources/source-2.html | 135 -- CodeCoverageReport/ns-2/sources/source-3.html | 159 -- CodeCoverageReport/ns-2/sources/source-4.html | 176 -- CodeCoverageReport/ns-2/sources/source-5.html | 209 -- CodeCoverageReport/ns-2/sources/source-6.html | 147 -- CodeCoverageReport/ns-2/sources/source-7.html | 145 -- CodeCoverageReport/ns-3/index.html | 503 ----- .../ns-3/index_SORT_BY_BLOCK.html | 503 ----- .../ns-3/index_SORT_BY_BLOCK_DESC.html | 503 ----- .../ns-3/index_SORT_BY_CLASS.html | 503 ----- .../ns-3/index_SORT_BY_CLASS_DESC.html | 503 ----- .../ns-3/index_SORT_BY_LINE.html | 503 ----- .../ns-3/index_SORT_BY_LINE_DESC.html | 503 ----- .../ns-3/index_SORT_BY_METHOD.html | 503 ----- .../ns-3/index_SORT_BY_METHOD_DESC.html | 503 ----- .../ns-3/index_SORT_BY_NAME_DESC.html | 503 ----- CodeCoverageReport/ns-3/sources/source-1.html | 133 -- CodeCoverageReport/ns-3/sources/source-2.html | 127 -- CodeCoverageReport/ns-3/sources/source-3.html | 212 -- CodeCoverageReport/ns-3/sources/source-4.html | 130 -- CodeCoverageReport/ns-3/sources/source-5.html | 135 -- CodeCoverageReport/ns-3/sources/source-6.html | 138 -- CodeCoverageReport/ns-3/sources/source-7.html | 134 -- CodeCoverageReport/ns-3/sources/source-8.html | 133 -- CodeCoverageReport/ns-3/sources/source-9.html | 130 -- CodeCoverageReport/ns-3/sources/source-a.html | 130 -- CodeCoverageReport/ns-3/sources/source-b.html | 129 -- CodeCoverageReport/ns-3/sources/source-c.html | 132 -- CodeCoverageReport/ns-3/sources/source-d.html | 136 -- CodeCoverageReport/ns-4/index.html | 846 -------- .../ns-4/index_SORT_BY_BLOCK.html | 846 -------- .../ns-4/index_SORT_BY_BLOCK_DESC.html | 846 -------- .../ns-4/index_SORT_BY_CLASS.html | 846 -------- .../ns-4/index_SORT_BY_CLASS_DESC.html | 846 -------- .../ns-4/index_SORT_BY_LINE.html | 846 -------- .../ns-4/index_SORT_BY_LINE_DESC.html | 846 -------- .../ns-4/index_SORT_BY_METHOD.html | 846 -------- .../ns-4/index_SORT_BY_METHOD_DESC.html | 846 -------- .../ns-4/index_SORT_BY_NAME_DESC.html | 846 -------- CodeCoverageReport/ns-4/sources/source-1.html | 155 -- .../ns-4/sources/source-10.html | 182 -- .../ns-4/sources/source-11.html | 375 ---- .../ns-4/sources/source-12.html | 184 -- .../ns-4/sources/source-13.html | 207 -- .../ns-4/sources/source-14.html | 181 -- .../ns-4/sources/source-15.html | 198 -- .../ns-4/sources/source-16.html | 104 - CodeCoverageReport/ns-4/sources/source-2.html | 186 -- CodeCoverageReport/ns-4/sources/source-3.html | 189 -- CodeCoverageReport/ns-4/sources/source-4.html | 191 -- CodeCoverageReport/ns-4/sources/source-5.html | 137 -- CodeCoverageReport/ns-4/sources/source-6.html | 156 -- CodeCoverageReport/ns-4/sources/source-7.html | 185 -- CodeCoverageReport/ns-4/sources/source-8.html | 382 ---- CodeCoverageReport/ns-4/sources/source-9.html | 249 --- CodeCoverageReport/ns-4/sources/source-a.html | 136 -- CodeCoverageReport/ns-4/sources/source-b.html | 165 -- CodeCoverageReport/ns-4/sources/source-c.html | 193 -- CodeCoverageReport/ns-4/sources/source-d.html | 165 -- CodeCoverageReport/ns-4/sources/source-e.html | 513 ----- CodeCoverageReport/ns-4/sources/source-f.html | 219 -- CodeCoverageReport/ns-5/index.html | 363 ---- .../ns-5/index_SORT_BY_BLOCK.html | 363 ---- .../ns-5/index_SORT_BY_BLOCK_DESC.html | 363 ---- .../ns-5/index_SORT_BY_CLASS.html | 363 ---- .../ns-5/index_SORT_BY_CLASS_DESC.html | 363 ---- .../ns-5/index_SORT_BY_LINE.html | 363 ---- .../ns-5/index_SORT_BY_LINE_DESC.html | 363 ---- .../ns-5/index_SORT_BY_METHOD.html | 363 ---- .../ns-5/index_SORT_BY_METHOD_DESC.html | 363 ---- .../ns-5/index_SORT_BY_NAME_DESC.html | 363 ---- CodeCoverageReport/ns-5/sources/source-1.html | 172 -- CodeCoverageReport/ns-5/sources/source-2.html | 156 -- CodeCoverageReport/ns-5/sources/source-3.html | 266 --- CodeCoverageReport/ns-5/sources/source-4.html | 627 ------ CodeCoverageReport/ns-5/sources/source-5.html | 589 ----- CodeCoverageReport/ns-5/sources/source-6.html | 392 ---- CodeCoverageReport/ns-5/sources/source-7.html | 189 -- CodeCoverageReport/ns-6/index.html | 286 --- .../ns-6/index_SORT_BY_BLOCK.html | 286 --- .../ns-6/index_SORT_BY_BLOCK_DESC.html | 286 --- .../ns-6/index_SORT_BY_CLASS.html | 286 --- .../ns-6/index_SORT_BY_CLASS_DESC.html | 286 --- .../ns-6/index_SORT_BY_LINE.html | 286 --- .../ns-6/index_SORT_BY_LINE_DESC.html | 286 --- .../ns-6/index_SORT_BY_METHOD.html | 286 --- .../ns-6/index_SORT_BY_METHOD_DESC.html | 286 --- .../ns-6/index_SORT_BY_NAME_DESC.html | 286 --- CodeCoverageReport/ns-6/sources/source-1.html | 117 - CodeCoverageReport/ns-6/sources/source-2.html | 115 - CodeCoverageReport/ns-6/sources/source-3.html | 335 --- CodeCoverageReport/ns-6/sources/source-4.html | 191 -- CodeCoverageReport/ns-6/sources/source-5.html | 123 -- CodeCoverageReport/ns-6/sources/source-6.html | 95 - CodeCoverageReport/ns-6/sources/source-7.html | 75 - CodeCoverageReport/ns-7/index.html | 1931 ----------------- .../ns-7/index_SORT_BY_BLOCK.html | 1931 ----------------- .../ns-7/index_SORT_BY_BLOCK_DESC.html | 1931 ----------------- .../ns-7/index_SORT_BY_CLASS.html | 1931 ----------------- .../ns-7/index_SORT_BY_CLASS_DESC.html | 1931 ----------------- .../ns-7/index_SORT_BY_LINE.html | 1931 ----------------- .../ns-7/index_SORT_BY_LINE_DESC.html | 1931 ----------------- .../ns-7/index_SORT_BY_METHOD.html | 1931 ----------------- .../ns-7/index_SORT_BY_METHOD_DESC.html | 1931 ----------------- .../ns-7/index_SORT_BY_NAME_DESC.html | 1931 ----------------- CodeCoverageReport/ns-7/sources/source-1.html | 174 -- .../ns-7/sources/source-10.html | 138 -- .../ns-7/sources/source-11.html | 139 -- .../ns-7/sources/source-12.html | 142 -- .../ns-7/sources/source-13.html | 144 -- .../ns-7/sources/source-14.html | 168 -- .../ns-7/sources/source-15.html | 146 -- .../ns-7/sources/source-16.html | 134 -- .../ns-7/sources/source-17.html | 173 -- .../ns-7/sources/source-18.html | 134 -- .../ns-7/sources/source-19.html | 212 -- .../ns-7/sources/source-1a.html | 349 --- .../ns-7/sources/source-1b.html | 148 -- .../ns-7/sources/source-1c.html | 156 -- .../ns-7/sources/source-1d.html | 187 -- .../ns-7/sources/source-1e.html | 177 -- .../ns-7/sources/source-1f.html | 378 ---- CodeCoverageReport/ns-7/sources/source-2.html | 407 ---- .../ns-7/sources/source-20.html | 166 -- .../ns-7/sources/source-21.html | 150 -- .../ns-7/sources/source-22.html | 611 ------ .../ns-7/sources/source-23.html | 163 -- .../ns-7/sources/source-24.html | 132 -- .../ns-7/sources/source-25.html | 251 --- .../ns-7/sources/source-26.html | 175 -- .../ns-7/sources/source-27.html | 234 -- .../ns-7/sources/source-28.html | 157 -- .../ns-7/sources/source-29.html | 168 -- .../ns-7/sources/source-2a.html | 144 -- .../ns-7/sources/source-2b.html | 157 -- .../ns-7/sources/source-2c.html | 154 -- .../ns-7/sources/source-2d.html | 159 -- .../ns-7/sources/source-2e.html | 150 -- .../ns-7/sources/source-2f.html | 145 -- CodeCoverageReport/ns-7/sources/source-3.html | 611 ------ .../ns-7/sources/source-30.html | 140 -- .../ns-7/sources/source-31.html | 169 -- .../ns-7/sources/source-32.html | 199 -- .../ns-7/sources/source-33.html | 172 -- .../ns-7/sources/source-34.html | 144 -- .../ns-7/sources/source-35.html | 124 -- .../ns-7/sources/source-36.html | 170 -- .../ns-7/sources/source-37.html | 139 -- .../ns-7/sources/source-38.html | 154 -- .../ns-7/sources/source-39.html | 192 -- .../ns-7/sources/source-3a.html | 275 --- CodeCoverageReport/ns-7/sources/source-4.html | 271 --- CodeCoverageReport/ns-7/sources/source-5.html | 162 -- CodeCoverageReport/ns-7/sources/source-6.html | 137 -- CodeCoverageReport/ns-7/sources/source-7.html | 285 --- CodeCoverageReport/ns-7/sources/source-8.html | 209 -- CodeCoverageReport/ns-7/sources/source-9.html | 234 -- CodeCoverageReport/ns-7/sources/source-a.html | 147 -- CodeCoverageReport/ns-7/sources/source-b.html | 207 -- CodeCoverageReport/ns-7/sources/source-c.html | 221 -- CodeCoverageReport/ns-7/sources/source-d.html | 145 -- CodeCoverageReport/ns-7/sources/source-e.html | 165 -- CodeCoverageReport/ns-7/sources/source-f.html | 190 -- README.md | 33 +- build.gradle | 13 +- gradle.properties | 2 - .../java/com/google/maps/DirectionsApi.java | 56 +- .../com/google/maps/DirectionsApiRequest.java | 14 +- .../google/maps/DistanceMatrixApiRequest.java | 10 +- .../java/com/google/maps/ElevationApi.java | 26 +- .../google/maps/FindPlaceFromTextRequest.java | 70 +- .../com/google/maps/GaeRequestHandler.java | 7 +- .../java/com/google/maps/GeoApiContext.java | 126 +- .../com/google/maps/GeocodingApiRequest.java | 6 +- .../java/com/google/maps/ImageResult.java | 12 +- .../com/google/maps/NearbySearchRequest.java | 9 +- .../com/google/maps/OkHttpRequestHandler.java | 7 +- .../com/google/maps/PendingResultBase.java | 8 +- .../google/maps/PlaceAutocompleteRequest.java | 92 +- .../com/google/maps/PlaceDetailsRequest.java | 56 +- .../com/google/maps/StaticMapsRequest.java | 231 +- .../com/google/maps/TextSearchRequest.java | 7 +- .../maps/internal/GaePendingResult.java | 18 +- .../internal/GeolocationResponseAdapter.java | 3 +- .../maps/internal/OkHttpPendingResult.java | 62 +- .../internal/RateLimitExecutorService.java | 39 +- .../com/google/maps/internal/StringJoin.java | 18 +- .../internal/ratelimiter/RateLimiter.java | 113 +- .../ratelimiter/SmoothRateLimiter.java | 161 +- .../maps/internal/ratelimiter/Stopwatch.java | 102 +- .../maps/internal/ratelimiter/Ticker.java | 20 +- .../maps/metrics/OpenCensusMetrics.java | 64 +- .../maps/model/AutocompletePrediction.java | 44 +- .../java/com/google/maps/model/Bounds.java | 2 + .../java/com/google/maps/model/CellTower.java | 47 +- .../google/maps/model/ComponentFilter.java | 20 +- .../google/maps/model/DirectionsRoute.java | 1 + .../google/maps/model/ElevationResult.java | 2 + .../google/maps/model/GeolocationPayload.java | 39 +- .../google/maps/model/GeolocationResult.java | 2 + .../java/com/google/maps/model/Geometry.java | 1 + .../com/google/maps/model/OpeningHours.java | 119 +- .../java/com/google/maps/model/Photo.java | 1 + .../maps/model/PlaceAutocompleteType.java | 4 +- .../com/google/maps/model/PlaceDetails.java | 194 +- .../java/com/google/maps/model/PlaceType.java | 4 +- .../com/google/maps/model/SnappedPoint.java | 1 + .../com/google/maps/model/SpeedLimit.java | 1 + .../google/maps/model/WifiAccessPoint.java | 31 +- .../com/google/maps/DirectionsApiTest.java | 34 +- .../google/maps/DistanceMatrixApiTest.java | 7 +- .../com/google/maps/GeoApiContextTest.java | 11 +- .../com/google/maps/GeocodingApiTest.java | 17 +- .../google/maps/LocalTestServerContext.java | 2 +- .../maps/{metrics => }/OpenCensusTest.java | 4 +- .../java/com/google/maps/PlacesApiTest.java | 49 +- .../google/maps/RoadsApiIntegrationTest.java | 4 +- .../java/com/google/maps/TimeZoneApiTest.java | 5 +- ...droidAuthenticationConfigProviderTest.java | 4 +- .../RateLimitExecutorServiceTest.java | 21 +- .../google/maps/internal/UrlSignerTest.java | 22 +- .../google/maps/model/DirectionsStepTest.java | 76 +- .../java/com/google/maps/model/EnumsTest.java | 43 +- ...ompletePredictionStructuredFormatting.json | 57 +- ...dPlaceFromTextMuseumOfContemporaryArt.json | 49 +- .../com/google/maps/GeocodeLibraryType.json | 167 +- 314 files changed, 1793 insertions(+), 94119 deletions(-) delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/details.md delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff-details.md delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.csv delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.md delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/diff.txt delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.csv delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.json delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.md delete mode 100644 .VSCodeCounter/2023-10-31_13-57-36/results.txt delete mode 100644 CodeCoverageReport/css/coverage.css delete mode 100644 CodeCoverageReport/css/idea.min.css delete mode 100644 CodeCoverageReport/img/arrowDown.gif delete mode 100644 CodeCoverageReport/img/arrowUp.gif delete mode 100644 CodeCoverageReport/index.html delete mode 100644 CodeCoverageReport/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/js/highlight.min.js delete mode 100644 CodeCoverageReport/js/highlightjs-line-numbers.min.js delete mode 100644 CodeCoverageReport/ns-1/index.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-10.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-11.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-12.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-13.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-14.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-15.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-16.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-17.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-18.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-19.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1a.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1b.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1c.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1d.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-1e.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-8.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-9.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-a.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-b.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-c.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-d.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-e.html delete mode 100644 CodeCoverageReport/ns-1/sources/source-f.html delete mode 100644 CodeCoverageReport/ns-2/index.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-2/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-3/index.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-8.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-9.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-a.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-b.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-c.html delete mode 100644 CodeCoverageReport/ns-3/sources/source-d.html delete mode 100644 CodeCoverageReport/ns-4/index.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-10.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-11.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-12.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-13.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-14.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-15.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-16.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-8.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-9.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-a.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-b.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-c.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-d.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-e.html delete mode 100644 CodeCoverageReport/ns-4/sources/source-f.html delete mode 100644 CodeCoverageReport/ns-5/index.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-5/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-6/index.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-6/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-7/index.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_LINE.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html delete mode 100644 CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-10.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-11.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-12.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-13.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-14.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-15.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-16.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-17.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-18.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-19.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1a.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1b.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1c.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1d.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1e.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-1f.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-20.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-21.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-22.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-23.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-24.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-25.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-26.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-27.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-28.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-29.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2a.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2b.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2c.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2d.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2e.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-2f.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-3.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-30.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-31.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-32.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-33.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-34.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-35.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-36.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-37.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-38.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-39.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-3a.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-4.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-5.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-6.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-7.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-8.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-9.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-a.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-b.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-c.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-d.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-e.html delete mode 100644 CodeCoverageReport/ns-7/sources/source-f.html rename src/test/java/com/google/maps/{metrics => }/OpenCensusTest.java (96%) diff --git a/.VSCodeCounter/2023-10-31_13-57-36/details.md b/.VSCodeCounter/2023-10-31_13-57-36/details.md deleted file mode 100644 index 1fa982f18..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/details.md +++ /dev/null @@ -1,227 +0,0 @@ -# Details - -Date : 2023-10-31 13:57:36 - -Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src - -Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines - -[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) - -## Files -| filename | language | code | comment | blank | total | -| :--- | :--- | ---: | ---: | ---: | ---: | -| [src/main/java/com/google/maps/DirectionsApi.java](/src/main/java/com/google/maps/DirectionsApi.java) | Java | 61 | 55 | 20 | 136 | -| [src/main/java/com/google/maps/DirectionsApiRequest.java](/src/main/java/com/google/maps/DirectionsApiRequest.java) | Java | 166 | 216 | 37 | 419 | -| [src/main/java/com/google/maps/DistanceMatrixApi.java](/src/main/java/com/google/maps/DistanceMatrixApi.java) | Java | 39 | 32 | 11 | 82 | -| [src/main/java/com/google/maps/DistanceMatrixApiRequest.java](/src/main/java/com/google/maps/DistanceMatrixApiRequest.java) | Java | 74 | 113 | 19 | 206 | -| [src/main/java/com/google/maps/ElevationApi.java](/src/main/java/com/google/maps/ElevationApi.java) | Java | 90 | 64 | 20 | 174 | -| [src/main/java/com/google/maps/FindPlaceFromTextRequest.java](/src/main/java/com/google/maps/FindPlaceFromTextRequest.java) | Java | 141 | 40 | 35 | 216 | -| [src/main/java/com/google/maps/GaeRequestHandler.java](/src/main/java/com/google/maps/GaeRequestHandler.java) | Java | 128 | 21 | 19 | 168 | -| [src/main/java/com/google/maps/GeoApiContext.java](/src/main/java/com/google/maps/GeoApiContext.java) | Java | 381 | 180 | 72 | 633 | -| [src/main/java/com/google/maps/GeocodingApi.java](/src/main/java/com/google/maps/GeocodingApi.java) | Java | 41 | 43 | 11 | 95 | -| [src/main/java/com/google/maps/GeocodingApiRequest.java](/src/main/java/com/google/maps/GeocodingApiRequest.java) | Java | 55 | 83 | 17 | 155 | -| [src/main/java/com/google/maps/GeolocationApi.java](/src/main/java/com/google/maps/GeolocationApi.java) | Java | 52 | 23 | 12 | 87 | -| [src/main/java/com/google/maps/GeolocationApiRequest.java](/src/main/java/com/google/maps/GeolocationApiRequest.java) | Java | 74 | 17 | 18 | 109 | -| [src/main/java/com/google/maps/ImageResult.java](/src/main/java/com/google/maps/ImageResult.java) | Java | 27 | 21 | 11 | 59 | -| [src/main/java/com/google/maps/NearbySearchRequest.java](/src/main/java/com/google/maps/NearbySearchRequest.java) | Java | 104 | 100 | 27 | 231 | -| [src/main/java/com/google/maps/NearestRoadsApiRequest.java](/src/main/java/com/google/maps/NearestRoadsApiRequest.java) | Java | 27 | 7 | 7 | 41 | -| [src/main/java/com/google/maps/OkHttpRequestHandler.java](/src/main/java/com/google/maps/OkHttpRequestHandler.java) | Java | 155 | 28 | 21 | 204 | -| [src/main/java/com/google/maps/PendingResult.java](/src/main/java/com/google/maps/PendingResult.java) | Java | 13 | 58 | 11 | 82 | -| [src/main/java/com/google/maps/PendingResultBase.java](/src/main/java/com/google/maps/PendingResultBase.java) | Java | 119 | 61 | 24 | 204 | -| [src/main/java/com/google/maps/PhotoRequest.java](/src/main/java/com/google/maps/PhotoRequest.java) | Java | 27 | 39 | 10 | 76 | -| [src/main/java/com/google/maps/PlaceAutocompleteRequest.java](/src/main/java/com/google/maps/PlaceAutocompleteRequest.java) | Java | 99 | 109 | 30 | 238 | -| [src/main/java/com/google/maps/PlaceDetailsRequest.java](/src/main/java/com/google/maps/PlaceDetailsRequest.java) | Java | 135 | 60 | 21 | 216 | -| [src/main/java/com/google/maps/PlacesApi.java](/src/main/java/com/google/maps/PlacesApi.java) | Java | 74 | 137 | 17 | 228 | -| [src/main/java/com/google/maps/QueryAutocompleteRequest.java](/src/main/java/com/google/maps/QueryAutocompleteRequest.java) | Java | 55 | 48 | 15 | 118 | -| [src/main/java/com/google/maps/RoadsApi.java](/src/main/java/com/google/maps/RoadsApi.java) | Java | 64 | 80 | 18 | 162 | -| [src/main/java/com/google/maps/SnapToRoadsApiRequest.java](/src/main/java/com/google/maps/SnapToRoadsApiRequest.java) | Java | 30 | 13 | 8 | 51 | -| [src/main/java/com/google/maps/SpeedLimitsApiRequest.java](/src/main/java/com/google/maps/SpeedLimitsApiRequest.java) | Java | 33 | 13 | 8 | 54 | -| [src/main/java/com/google/maps/StaticMapsApi.java](/src/main/java/com/google/maps/StaticMapsApi.java) | Java | 8 | 21 | 6 | 35 | -| [src/main/java/com/google/maps/StaticMapsRequest.java](/src/main/java/com/google/maps/StaticMapsRequest.java) | Java | 224 | 182 | 65 | 471 | -| [src/main/java/com/google/maps/TextSearchRequest.java](/src/main/java/com/google/maps/TextSearchRequest.java) | Java | 96 | 91 | 26 | 213 | -| [src/main/java/com/google/maps/TimeZoneApi.java](/src/main/java/com/google/maps/TimeZoneApi.java) | Java | 44 | 30 | 11 | 85 | -| [src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java](/src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java) | Java | 12 | 7 | 6 | 25 | -| [src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java](/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java) | Java | 11 | 5 | 4 | 20 | -| [src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java](/src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java) | Java | 29 | 5 | 10 | 44 | -| [src/main/java/com/google/maps/android/CertificateHelper.java](/src/main/java/com/google/maps/android/CertificateHelper.java) | Java | 45 | 8 | 8 | 61 | -| [src/main/java/com/google/maps/android/Context.java](/src/main/java/com/google/maps/android/Context.java) | Java | 67 | 17 | 10 | 94 | -| [src/main/java/com/google/maps/android/PackageInfo.java](/src/main/java/com/google/maps/android/PackageInfo.java) | Java | 25 | 2 | 5 | 32 | -| [src/main/java/com/google/maps/android/PackageManager.java](/src/main/java/com/google/maps/android/PackageManager.java) | Java | 27 | 10 | 5 | 42 | -| [src/main/java/com/google/maps/errors/AccessNotConfiguredException.java](/src/main/java/com/google/maps/errors/AccessNotConfiguredException.java) | Java | 7 | 18 | 5 | 30 | -| [src/main/java/com/google/maps/errors/ApiError.java](/src/main/java/com/google/maps/errors/ApiError.java) | Java | 6 | 15 | 3 | 24 | -| [src/main/java/com/google/maps/errors/ApiException.java](/src/main/java/com/google/maps/errors/ApiException.java) | Java | 58 | 31 | 8 | 97 | -| [src/main/java/com/google/maps/errors/InvalidRequestException.java](/src/main/java/com/google/maps/errors/InvalidRequestException.java) | Java | 7 | 15 | 5 | 27 | -| [src/main/java/com/google/maps/errors/MaxElementsExceededException.java](/src/main/java/com/google/maps/errors/MaxElementsExceededException.java) | Java | 7 | 20 | 5 | 32 | -| [src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java](/src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java) | Java | 7 | 23 | 5 | 35 | -| [src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java](/src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java) | Java | 7 | 20 | 4 | 31 | -| [src/main/java/com/google/maps/errors/NotFoundException.java](/src/main/java/com/google/maps/errors/NotFoundException.java) | Java | 7 | 18 | 5 | 30 | -| [src/main/java/com/google/maps/errors/OverDailyLimitException.java](/src/main/java/com/google/maps/errors/OverDailyLimitException.java) | Java | 7 | 15 | 5 | 27 | -| [src/main/java/com/google/maps/errors/OverQueryLimitException.java](/src/main/java/com/google/maps/errors/OverQueryLimitException.java) | Java | 7 | 15 | 5 | 27 | -| [src/main/java/com/google/maps/errors/RequestDeniedException.java](/src/main/java/com/google/maps/errors/RequestDeniedException.java) | Java | 7 | 15 | 4 | 26 | -| [src/main/java/com/google/maps/errors/UnknownErrorException.java](/src/main/java/com/google/maps/errors/UnknownErrorException.java) | Java | 7 | 17 | 5 | 29 | -| [src/main/java/com/google/maps/errors/ZeroResultsException.java](/src/main/java/com/google/maps/errors/ZeroResultsException.java) | Java | 7 | 21 | 5 | 33 | -| [src/main/java/com/google/maps/internal/ApiConfig.java](/src/main/java/com/google/maps/internal/ApiConfig.java) | Java | 28 | 15 | 9 | 52 | -| [src/main/java/com/google/maps/internal/ApiResponse.java](/src/main/java/com/google/maps/internal/ApiResponse.java) | Java | 7 | 15 | 6 | 28 | -| [src/main/java/com/google/maps/internal/DayOfWeekAdapter.java](/src/main/java/com/google/maps/internal/DayOfWeekAdapter.java) | Java | 40 | 22 | 9 | 71 | -| [src/main/java/com/google/maps/internal/DistanceAdapter.java](/src/main/java/com/google/maps/internal/DistanceAdapter.java) | Java | 32 | 33 | 9 | 74 | -| [src/main/java/com/google/maps/internal/DurationAdapter.java](/src/main/java/com/google/maps/internal/DurationAdapter.java) | Java | 33 | 34 | 9 | 76 | -| [src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java](/src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java) | Java | 14 | 14 | 6 | 34 | -| [src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java](/src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java) | Java | 19 | 14 | 8 | 41 | -| [src/main/java/com/google/maps/internal/FareAdapter.java](/src/main/java/com/google/maps/internal/FareAdapter.java) | Java | 36 | 26 | 8 | 70 | -| [src/main/java/com/google/maps/internal/GaePendingResult.java](/src/main/java/com/google/maps/internal/GaePendingResult.java) | Java | 199 | 44 | 24 | 267 | -| [src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java](/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java) | Java | 67 | 60 | 7 | 134 | -| [src/main/java/com/google/maps/internal/HttpHeaders.java](/src/main/java/com/google/maps/internal/HttpHeaders.java) | Java | 7 | 19 | 7 | 33 | -| [src/main/java/com/google/maps/internal/InstantAdapter.java](/src/main/java/com/google/maps/internal/InstantAdapter.java) | Java | 24 | 18 | 8 | 50 | -| [src/main/java/com/google/maps/internal/LatLngAdapter.java](/src/main/java/com/google/maps/internal/LatLngAdapter.java) | Java | 41 | 29 | 8 | 78 | -| [src/main/java/com/google/maps/internal/LocalTimeAdapter.java](/src/main/java/com/google/maps/internal/LocalTimeAdapter.java) | Java | 26 | 17 | 7 | 50 | -| [src/main/java/com/google/maps/internal/OkHttpPendingResult.java](/src/main/java/com/google/maps/internal/OkHttpPendingResult.java) | Java | 260 | 50 | 35 | 345 | -| [src/main/java/com/google/maps/internal/PolylineEncoding.java](/src/main/java/com/google/maps/internal/PolylineEncoding.java) | Java | 62 | 24 | 18 | 104 | -| [src/main/java/com/google/maps/internal/PriceLevelAdapter.java](/src/main/java/com/google/maps/internal/PriceLevelAdapter.java) | Java | 36 | 22 | 9 | 67 | -| [src/main/java/com/google/maps/internal/RateLimitExecutorService.java](/src/main/java/com/google/maps/internal/RateLimitExecutorService.java) | Java | 138 | 24 | 26 | 188 | -| [src/main/java/com/google/maps/internal/SafeEnumAdapter.java](/src/main/java/com/google/maps/internal/SafeEnumAdapter.java) | Java | 37 | 22 | 10 | 69 | -| [src/main/java/com/google/maps/internal/StringJoin.java](/src/main/java/com/google/maps/internal/StringJoin.java) | Java | 42 | 20 | 12 | 74 | -| [src/main/java/com/google/maps/internal/UrlSigner.java](/src/main/java/com/google/maps/internal/UrlSigner.java) | Java | 31 | 25 | 10 | 66 | -| [src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java](/src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java) | Java | 38 | 36 | 9 | 83 | -| [src/main/java/com/google/maps/internal/ratelimiter/LongMath.java](/src/main/java/com/google/maps/internal/ratelimiter/LongMath.java) | Java | 12 | 41 | 4 | 57 | -| [src/main/java/com/google/maps/internal/ratelimiter/Platform.java](/src/main/java/com/google/maps/internal/ratelimiter/Platform.java) | Java | 11 | 36 | 6 | 53 | -| [src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java](/src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java) | Java | 54 | 85 | 12 | 151 | -| [src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java](/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java) | Java | 161 | 254 | 36 | 451 | -| [src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java](/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java) | Java | 130 | 241 | 31 | 402 | -| [src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java](/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java) | Java | 110 | 111 | 22 | 243 | -| [src/main/java/com/google/maps/internal/ratelimiter/Ticker.java](/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java) | Java | 15 | 39 | 6 | 60 | -| [src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java](/src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java) | Java | 7 | 1 | 6 | 14 | -| [src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java) | Java | 7 | 1 | 4 | 12 | -| [src/main/java/com/google/maps/metrics/OpenCensusMetrics.java](/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java) | Java | 103 | 4 | 22 | 129 | -| [src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java](/src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java) | Java | 63 | 2 | 11 | 76 | -| [src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java) | Java | 14 | 1 | 5 | 20 | -| [src/main/java/com/google/maps/metrics/RequestMetrics.java](/src/main/java/com/google/maps/metrics/RequestMetrics.java) | Java | 6 | 17 | 5 | 28 | -| [src/main/java/com/google/maps/metrics/RequestMetricsReporter.java](/src/main/java/com/google/maps/metrics/RequestMetricsReporter.java) | Java | 4 | 1 | 3 | 8 | -| [src/main/java/com/google/maps/model/AddressComponent.java](/src/main/java/com/google/maps/model/AddressComponent.java) | Java | 20 | 29 | 10 | 59 | -| [src/main/java/com/google/maps/model/AddressComponentType.java](/src/main/java/com/google/maps/model/AddressComponentType.java) | Java | 94 | 128 | 82 | 304 | -| [src/main/java/com/google/maps/model/AddressType.java](/src/main/java/com/google/maps/model/AddressType.java) | Java | 162 | 190 | 144 | 496 | -| [src/main/java/com/google/maps/model/AutocompletePrediction.java](/src/main/java/com/google/maps/model/AutocompletePrediction.java) | Java | 44 | 56 | 23 | 123 | -| [src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java](/src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java) | Java | 20 | 18 | 9 | 47 | -| [src/main/java/com/google/maps/model/Bounds.java](/src/main/java/com/google/maps/model/Bounds.java) | Java | 11 | 17 | 6 | 34 | -| [src/main/java/com/google/maps/model/CellTower.java](/src/main/java/com/google/maps/model/CellTower.java) | Java | 89 | 47 | 17 | 153 | -| [src/main/java/com/google/maps/model/ComponentFilter.java](/src/main/java/com/google/maps/model/ComponentFilter.java) | Java | 34 | 59 | 13 | 106 | -| [src/main/java/com/google/maps/model/DirectionsLeg.java](/src/main/java/com/google/maps/model/DirectionsLeg.java) | Java | 37 | 66 | 16 | 119 | -| [src/main/java/com/google/maps/model/DirectionsResult.java](/src/main/java/com/google/maps/model/DirectionsResult.java) | Java | 7 | 30 | 7 | 44 | -| [src/main/java/com/google/maps/model/DirectionsRoute.java](/src/main/java/com/google/maps/model/DirectionsRoute.java) | Java | 29 | 50 | 13 | 92 | -| [src/main/java/com/google/maps/model/DirectionsStep.java](/src/main/java/com/google/maps/model/DirectionsStep.java) | Java | 32 | 58 | 16 | 106 | -| [src/main/java/com/google/maps/model/Distance.java](/src/main/java/com/google/maps/model/Distance.java) | Java | 11 | 23 | 8 | 42 | -| [src/main/java/com/google/maps/model/DistanceMatrix.java](/src/main/java/com/google/maps/model/DistanceMatrix.java) | Java | 20 | 32 | 10 | 62 | -| [src/main/java/com/google/maps/model/DistanceMatrixElement.java](/src/main/java/com/google/maps/model/DistanceMatrixElement.java) | Java | 24 | 40 | 11 | 75 | -| [src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java](/src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java) | Java | 6 | 24 | 5 | 35 | -| [src/main/java/com/google/maps/model/DistanceMatrixRow.java](/src/main/java/com/google/maps/model/DistanceMatrixRow.java) | Java | 10 | 19 | 7 | 36 | -| [src/main/java/com/google/maps/model/Duration.java](/src/main/java/com/google/maps/model/Duration.java) | Java | 11 | 20 | 8 | 39 | -| [src/main/java/com/google/maps/model/ElevationResult.java](/src/main/java/com/google/maps/model/ElevationResult.java) | Java | 12 | 22 | 7 | 41 | -| [src/main/java/com/google/maps/model/EncodedPolyline.java](/src/main/java/com/google/maps/model/EncodedPolyline.java) | Java | 27 | 26 | 12 | 65 | -| [src/main/java/com/google/maps/model/Fare.java](/src/main/java/com/google/maps/model/Fare.java) | Java | 13 | 22 | 8 | 43 | -| [src/main/java/com/google/maps/model/FindPlaceFromText.java](/src/main/java/com/google/maps/model/FindPlaceFromText.java) | Java | 10 | 14 | 7 | 31 | -| [src/main/java/com/google/maps/model/GeocodedWaypoint.java](/src/main/java/com/google/maps/model/GeocodedWaypoint.java) | Java | 21 | 27 | 10 | 58 | -| [src/main/java/com/google/maps/model/GeocodedWaypointStatus.java](/src/main/java/com/google/maps/model/GeocodedWaypointStatus.java) | Java | 5 | 22 | 4 | 31 | -| [src/main/java/com/google/maps/model/GeocodingResult.java](/src/main/java/com/google/maps/model/GeocodingResult.java) | Java | 31 | 52 | 14 | 97 | -| [src/main/java/com/google/maps/model/GeolocationPayload.java](/src/main/java/com/google/maps/model/GeolocationPayload.java) | Java | 123 | 44 | 22 | 189 | -| [src/main/java/com/google/maps/model/GeolocationResult.java](/src/main/java/com/google/maps/model/GeolocationResult.java) | Java | 11 | 28 | 6 | 45 | -| [src/main/java/com/google/maps/model/Geometry.java](/src/main/java/com/google/maps/model/Geometry.java) | Java | 14 | 30 | 9 | 53 | -| [src/main/java/com/google/maps/model/LatLng.java](/src/main/java/com/google/maps/model/LatLng.java) | Java | 34 | 25 | 13 | 72 | -| [src/main/java/com/google/maps/model/LocationType.java](/src/main/java/com/google/maps/model/LocationType.java) | Java | 16 | 37 | 9 | 62 | -| [src/main/java/com/google/maps/model/OpeningHours.java](/src/main/java/com/google/maps/model/OpeningHours.java) | Java | 79 | 55 | 30 | 164 | -| [src/main/java/com/google/maps/model/Photo.java](/src/main/java/com/google/maps/model/Photo.java) | Java | 18 | 24 | 9 | 51 | -| [src/main/java/com/google/maps/model/PlaceAutocompleteType.java](/src/main/java/com/google/maps/model/PlaceAutocompleteType.java) | Java | 21 | 18 | 8 | 47 | -| [src/main/java/com/google/maps/model/PlaceDetails.java](/src/main/java/com/google/maps/model/PlaceDetails.java) | Java | 196 | 139 | 70 | 405 | -| [src/main/java/com/google/maps/model/PlaceEditorialSummary.java](/src/main/java/com/google/maps/model/PlaceEditorialSummary.java) | Java | 19 | 21 | 8 | 48 | -| [src/main/java/com/google/maps/model/PlaceIdScope.java](/src/main/java/com/google/maps/model/PlaceIdScope.java) | Java | 6 | 20 | 3 | 29 | -| [src/main/java/com/google/maps/model/PlaceType.java](/src/main/java/com/google/maps/model/PlaceType.java) | Java | 125 | 15 | 8 | 148 | -| [src/main/java/com/google/maps/model/PlacesSearchResponse.java](/src/main/java/com/google/maps/model/PlacesSearchResponse.java) | Java | 21 | 30 | 9 | 60 | -| [src/main/java/com/google/maps/model/PlacesSearchResult.java](/src/main/java/com/google/maps/model/PlacesSearchResult.java) | Java | 56 | 43 | 20 | 119 | -| [src/main/java/com/google/maps/model/PlusCode.java](/src/main/java/com/google/maps/model/PlusCode.java) | Java | 17 | 17 | 8 | 42 | -| [src/main/java/com/google/maps/model/PriceLevel.java](/src/main/java/com/google/maps/model/PriceLevel.java) | Java | 25 | 19 | 9 | 53 | -| [src/main/java/com/google/maps/model/RankBy.java](/src/main/java/com/google/maps/model/RankBy.java) | Java | 18 | 15 | 8 | 41 | -| [src/main/java/com/google/maps/model/Size.java](/src/main/java/com/google/maps/model/Size.java) | Java | 21 | 23 | 10 | 54 | -| [src/main/java/com/google/maps/model/SnappedPoint.java](/src/main/java/com/google/maps/model/SnappedPoint.java) | Java | 12 | 31 | 8 | 51 | -| [src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java](/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java) | Java | 19 | 17 | 8 | 44 | -| [src/main/java/com/google/maps/model/SpeedLimit.java](/src/main/java/com/google/maps/model/SpeedLimit.java) | Java | 14 | 25 | 8 | 47 | -| [src/main/java/com/google/maps/model/StopDetails.java](/src/main/java/com/google/maps/model/StopDetails.java) | Java | 11 | 23 | 8 | 42 | -| [src/main/java/com/google/maps/model/TrafficModel.java](/src/main/java/com/google/maps/model/TrafficModel.java) | Java | 16 | 15 | 6 | 37 | -| [src/main/java/com/google/maps/model/TransitAgency.java](/src/main/java/com/google/maps/model/TransitAgency.java) | Java | 21 | 24 | 9 | 54 | -| [src/main/java/com/google/maps/model/TransitDetails.java](/src/main/java/com/google/maps/model/TransitDetails.java) | Java | 31 | 39 | 14 | 84 | -| [src/main/java/com/google/maps/model/TransitLine.java](/src/main/java/com/google/maps/model/TransitLine.java) | Java | 17 | 38 | 14 | 69 | -| [src/main/java/com/google/maps/model/TransitMode.java](/src/main/java/com/google/maps/model/TransitMode.java) | Java | 18 | 16 | 7 | 41 | -| [src/main/java/com/google/maps/model/TransitRoutingPreference.java](/src/main/java/com/google/maps/model/TransitRoutingPreference.java) | Java | 15 | 1 | 5 | 21 | -| [src/main/java/com/google/maps/model/TravelMode.java](/src/main/java/com/google/maps/model/TravelMode.java) | Java | 21 | 27 | 7 | 55 | -| [src/main/java/com/google/maps/model/Unit.java](/src/main/java/com/google/maps/model/Unit.java) | Java | 15 | 15 | 6 | 36 | -| [src/main/java/com/google/maps/model/Vehicle.java](/src/main/java/com/google/maps/model/Vehicle.java) | Java | 13 | 28 | 10 | 51 | -| [src/main/java/com/google/maps/model/VehicleType.java](/src/main/java/com/google/maps/model/VehicleType.java) | Java | 21 | 47 | 21 | 89 | -| [src/main/java/com/google/maps/model/WifiAccessPoint.java](/src/main/java/com/google/maps/model/WifiAccessPoint.java) | Java | 74 | 34 | 15 | 123 | -| [src/test/java/com/google/maps/DirectionsApiTest.java](/src/test/java/com/google/maps/DirectionsApiTest.java) | Java | 456 | 72 | 61 | 589 | -| [src/test/java/com/google/maps/DistanceMatrixApiTest.java](/src/test/java/com/google/maps/DistanceMatrixApiTest.java) | Java | 166 | 26 | 24 | 216 | -| [src/test/java/com/google/maps/ElevationApiTest.java](/src/test/java/com/google/maps/ElevationApiTest.java) | Java | 238 | 16 | 25 | 279 | -| [src/test/java/com/google/maps/GeoApiContextTest.java](/src/test/java/com/google/maps/GeoApiContextTest.java) | Java | 324 | 47 | 68 | 439 | -| [src/test/java/com/google/maps/GeocodingApiTest.java](/src/test/java/com/google/maps/GeocodingApiTest.java) | Java | 1,043 | 74 | 71 | 1,188 | -| [src/test/java/com/google/maps/GeolocationApiTest.java](/src/test/java/com/google/maps/GeolocationApiTest.java) | Java | 388 | 14 | 37 | 439 | -| [src/test/java/com/google/maps/LargeTests.java](/src/test/java/com/google/maps/LargeTests.java) | Java | 2 | 15 | 3 | 20 | -| [src/test/java/com/google/maps/LocalTestServerContext.java](/src/test/java/com/google/maps/LocalTestServerContext.java) | Java | 113 | 16 | 21 | 150 | -| [src/test/java/com/google/maps/MediumTests.java](/src/test/java/com/google/maps/MediumTests.java) | Java | 2 | 15 | 3 | 20 | -| [src/test/java/com/google/maps/PlacesApiTest.java](/src/test/java/com/google/maps/PlacesApiTest.java) | Java | 878 | 24 | 129 | 1,031 | -| [src/test/java/com/google/maps/RoadsApiIntegrationTest.java](/src/test/java/com/google/maps/RoadsApiIntegrationTest.java) | Java | 165 | 14 | 22 | 201 | -| [src/test/java/com/google/maps/SmallTests.java](/src/test/java/com/google/maps/SmallTests.java) | Java | 2 | 15 | 3 | 20 | -| [src/test/java/com/google/maps/StaticMapsApiTest.java](/src/test/java/com/google/maps/StaticMapsApiTest.java) | Java | 224 | 15 | 35 | 274 | -| [src/test/java/com/google/maps/TestUtils.java](/src/test/java/com/google/maps/TestUtils.java) | Java | 31 | 14 | 6 | 51 | -| [src/test/java/com/google/maps/TimeZoneApiTest.java](/src/test/java/com/google/maps/TimeZoneApiTest.java) | Java | 49 | 16 | 13 | 78 | -| [src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java](/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java) | Java | 40 | 0 | 13 | 53 | -| [src/test/java/com/google/maps/internal/PolylineEncodingTest.java](/src/test/java/com/google/maps/internal/PolylineEncodingTest.java) | Java | 44 | 15 | 9 | 68 | -| [src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java](/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java) | Java | 79 | 19 | 13 | 111 | -| [src/test/java/com/google/maps/internal/UrlSignerTest.java](/src/test/java/com/google/maps/internal/UrlSignerTest.java) | Java | 64 | 19 | 13 | 96 | -| [src/test/java/com/google/maps/metrics/OpenCensusTest.java](/src/test/java/com/google/maps/metrics/OpenCensusTest.java) | Java | 107 | 0 | 16 | 123 | -| [src/test/java/com/google/maps/model/EnumsTest.java](/src/test/java/com/google/maps/model/EnumsTest.java) | Java | 296 | 17 | 12 | 325 | -| [src/test/java/com/google/maps/model/LatLngAssert.java](/src/test/java/com/google/maps/model/LatLngAssert.java) | Java | 9 | 15 | 6 | 30 | -| [src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json](/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json) | JSON | 50 | 0 | 1 | 51 | -| [src/test/resources/com/google/maps/DirectionsAlongPath.json](/src/test/resources/com/google/maps/DirectionsAlongPath.json) | JSON | 805 | 0 | 0 | 805 | -| [src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json](/src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json) | JSON | 17 | 0 | 0 | 17 | -| [src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json](/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json) | JSON | 40 | 0 | 2 | 42 | -| [src/test/resources/com/google/maps/GeocodeLibraryType.json](/src/test/resources/com/google/maps/GeocodeLibraryType.json) | JSON | 74 | 0 | 2 | 76 | -| [src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json](/src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationBasicResponse.json](/src/test/resources/com/google/maps/GeolocationBasicResponse.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationDocSampleResponse.json](/src/test/resources/com/google/maps/GeolocationDocSampleResponse.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationMaximumCellTower.json](/src/test/resources/com/google/maps/GeolocationMaximumCellTower.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json](/src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json](/src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json](/src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json) | JSON | 7 | 0 | 0 | 7 | -| [src/test/resources/com/google/maps/GetDirectionsResponse.json](/src/test/resources/com/google/maps/GetDirectionsResponse.json) | JSON | 37 | 0 | 0 | 37 | -| [src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json](/src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json) | JSON | 494 | 0 | 0 | 494 | -| [src/test/resources/com/google/maps/OverQueryLimitResponse.json](/src/test/resources/com/google/maps/OverQueryLimitResponse.json) | JSON | 4 | 0 | 1 | 5 | -| [src/test/resources/com/google/maps/PlaceDetailsFood.json](/src/test/resources/com/google/maps/PlaceDetailsFood.json) | JSON | 20 | 0 | 1 | 21 | -| [src/test/resources/com/google/maps/PlaceDetailsResponse.json](/src/test/resources/com/google/maps/PlaceDetailsResponse.json) | JSON | 274 | 0 | 1 | 275 | -| [src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json](/src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json) | JSON | 7 | 0 | 1 | 8 | -| [src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json](/src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json) | JSON | 7 | 0 | 1 | 8 | -| [src/test/resources/com/google/maps/PlaceGeocodeResponse.json](/src/test/resources/com/google/maps/PlaceGeocodeResponse.json) | JSON | 68 | 0 | 0 | 68 | -| [src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json](/src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json) | JSON | 342 | 0 | 0 | 342 | -| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json) | JSON | 939 | 0 | 1 | 940 | -| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json) | JSON | 3,004 | 0 | 1 | 3,005 | -| [src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json](/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json) | JSON | 3,569 | 0 | 0 | 3,569 | -| [src/test/resources/com/google/maps/PlacesApiPhotoResponse.json](/src/test/resources/com/google/maps/PlacesApiPhotoResponse.json) | JSON | 319 | 0 | 1 | 320 | -| [src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json](/src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json) | JSON | 942 | 0 | 0 | 942 | -| [src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json](/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json) | JSON | 293 | 0 | 1 | 294 | -| [src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json](/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json) | JSON | 227 | 0 | 0 | 227 | -| [src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json](/src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json) | JSON | 178 | 0 | 1 | 179 | -| [src/test/resources/com/google/maps/QueryAutocompleteResponse.json](/src/test/resources/com/google/maps/QueryAutocompleteResponse.json) | JSON | 184 | 0 | 1 | 185 | -| [src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json](/src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json) | JSON | 46 | 0 | 1 | 47 | -| [src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json](/src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json) | JSON | 34 | 0 | 0 | 34 | -| [src/test/resources/com/google/maps/ReverseGeocodeResponse.json](/src/test/resources/com/google/maps/ReverseGeocodeResponse.json) | JSON | 675 | 0 | 0 | 675 | -| [src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json](/src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json) | JSON | 649 | 0 | 0 | 649 | -| [src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json](/src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json) | JSON | 108 | 0 | 0 | 108 | -| [src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json](/src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json) | JSON | 60 | 0 | 0 | 60 | -| [src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json](/src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json) | JSON | 97 | 0 | 0 | 97 | -| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json) | JSON | 97 | 0 | 0 | 97 | -| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json) | JSON | 97 | 0 | 0 | 97 | -| [src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json](/src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json) | JSON | 19 | 0 | 0 | 19 | -| [src/test/resources/com/google/maps/SimpleGeocodeResponse.json](/src/test/resources/com/google/maps/SimpleGeocodeResponse.json) | JSON | 68 | 0 | 0 | 68 | -| [src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json](/src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json) | JSON | 702 | 0 | 0 | 702 | -| [src/test/resources/com/google/maps/TextSearchPizzaInNYC.json](/src/test/resources/com/google/maps/TextSearchPizzaInNYC.json) | JSON | 741 | 0 | 1 | 742 | -| [src/test/resources/com/google/maps/TextSearchResponse.json](/src/test/resources/com/google/maps/TextSearchResponse.json) | JSON | 38 | 0 | 1 | 39 | -| [src/test/resources/com/google/maps/UtfResultGeocodeResponse.json](/src/test/resources/com/google/maps/UtfResultGeocodeResponse.json) | JSON | 394 | 0 | 0 | 394 | -| [src/test/resources/com/google/maps/placesApiKitaWardResponse.json](/src/test/resources/com/google/maps/placesApiKitaWardResponse.json) | JSON | 45 | 0 | 0 | 45 | - -[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md b/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md deleted file mode 100644 index f3a1bd1d9..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/diff-details.md +++ /dev/null @@ -1,15 +0,0 @@ -# Diff Details - -Date : 2023-10-31 13:57:36 - -Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src - -Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines - -[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details - -## Files -| filename | language | code | comment | blank | total | -| :--- | :--- | ---: | ---: | ---: | ---: | - -[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.csv b/.VSCodeCounter/2023-10-31_13-57-36/diff.csv deleted file mode 100644 index b7d8d7591..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/diff.csv +++ /dev/null @@ -1,2 +0,0 @@ -"filename", "language", "", "comment", "blank", "total" -"Total", "-", , 0, 0, 0 \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.md b/.VSCodeCounter/2023-10-31_13-57-36/diff.md deleted file mode 100644 index 983bc4faa..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/diff.md +++ /dev/null @@ -1,19 +0,0 @@ -# Diff Summary - -Date : 2023-10-31 13:57:36 - -Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src - -Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines - -[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) - -## Languages -| language | files | code | comment | blank | total | -| :--- | ---: | ---: | ---: | ---: | ---: | - -## Directories -| path | files | code | comment | blank | total | -| :--- | ---: | ---: | ---: | ---: | ---: | - -[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/diff.txt b/.VSCodeCounter/2023-10-31_13-57-36/diff.txt deleted file mode 100644 index e9bfcdeca..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/diff.txt +++ /dev/null @@ -1,22 +0,0 @@ -Date : 2023-10-31 13:57:36 -Directory : d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src -Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines - -Languages -+----------+------------+------------+------------+------------+------------+ -| language | files | code | comment | blank | total | -+----------+------------+------------+------------+------------+------------+ -+----------+------------+------------+------------+------------+------------+ - -Directories -+------+------------+------------+------------+------------+------------+ -| path | files | code | comment | blank | total | -+------+------------+------------+------------+------------+------------+ -+------+------------+------------+------------+------------+------------+ - -Files -+----------+----------+------------+------------+------------+------------+ -| filename | language | code | comment | blank | total | -+----------+----------+------------+------------+------------+------------+ -| Total | | 0 | 0 | 0 | 0 | -+----------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.csv b/.VSCodeCounter/2023-10-31_13-57-36/results.csv deleted file mode 100644 index 53e07f5b7..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/results.csv +++ /dev/null @@ -1,214 +0,0 @@ -"filename", "language", "JSON", "Java", "comment", "blank", "total" -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApi.java", "Java", 0, 61, 55, 20, 136 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApiRequest.java", "Java", 0, 166, 216, 37, 419 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApi.java", "Java", 0, 39, 32, 11, 82 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApiRequest.java", "Java", 0, 74, 113, 19, 206 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ElevationApi.java", "Java", 0, 90, 64, 20, 174 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\FindPlaceFromTextRequest.java", "Java", 0, 141, 40, 35, 216 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GaeRequestHandler.java", "Java", 0, 128, 21, 19, 168 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeoApiContext.java", "Java", 0, 381, 180, 72, 633 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApi.java", "Java", 0, 41, 43, 11, 95 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApiRequest.java", "Java", 0, 55, 83, 17, 155 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApi.java", "Java", 0, 52, 23, 12, 87 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApiRequest.java", "Java", 0, 74, 17, 18, 109 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ImageResult.java", "Java", 0, 27, 21, 11, 59 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearbySearchRequest.java", "Java", 0, 104, 100, 27, 231 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearestRoadsApiRequest.java", "Java", 0, 27, 7, 7, 41 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\OkHttpRequestHandler.java", "Java", 0, 155, 28, 21, 204 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResult.java", "Java", 0, 13, 58, 11, 82 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResultBase.java", "Java", 0, 119, 61, 24, 204 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PhotoRequest.java", "Java", 0, 27, 39, 10, 76 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceAutocompleteRequest.java", "Java", 0, 99, 109, 30, 238 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceDetailsRequest.java", "Java", 0, 135, 60, 21, 216 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlacesApi.java", "Java", 0, 74, 137, 17, 228 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\QueryAutocompleteRequest.java", "Java", 0, 55, 48, 15, 118 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\RoadsApi.java", "Java", 0, 64, 80, 18, 162 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SnapToRoadsApiRequest.java", "Java", 0, 30, 13, 8, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SpeedLimitsApiRequest.java", "Java", 0, 33, 13, 8, 54 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsApi.java", "Java", 0, 8, 21, 6, 35 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsRequest.java", "Java", 0, 224, 182, 65, 471 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TextSearchRequest.java", "Java", 0, 96, 91, 26, 213 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TimeZoneApi.java", "Java", 0, 44, 30, 11, 85 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfig.java", "Java", 0, 12, 7, 6, 25 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfigProvider.java", "Java", 0, 11, 5, 4, 20 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationInterceptor.java", "Java", 0, 29, 5, 10, 44 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\CertificateHelper.java", "Java", 0, 45, 8, 8, 61 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\Context.java", "Java", 0, 67, 17, 10, 94 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageInfo.java", "Java", 0, 25, 2, 5, 32 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageManager.java", "Java", 0, 27, 10, 5, 42 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\AccessNotConfiguredException.java", "Java", 0, 7, 18, 5, 30 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiError.java", "Java", 0, 6, 15, 3, 24 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiException.java", "Java", 0, 58, 31, 8, 97 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\InvalidRequestException.java", "Java", 0, 7, 15, 5, 27 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxElementsExceededException.java", "Java", 0, 7, 20, 5, 32 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxRouteLengthExceededException.java", "Java", 0, 7, 23, 5, 35 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxWaypointsExceededException.java", "Java", 0, 7, 20, 4, 31 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\NotFoundException.java", "Java", 0, 7, 18, 5, 30 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverDailyLimitException.java", "Java", 0, 7, 15, 5, 27 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverQueryLimitException.java", "Java", 0, 7, 15, 5, 27 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\RequestDeniedException.java", "Java", 0, 7, 15, 4, 26 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\UnknownErrorException.java", "Java", 0, 7, 17, 5, 29 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ZeroResultsException.java", "Java", 0, 7, 21, 5, 33 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiConfig.java", "Java", 0, 28, 15, 9, 52 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiResponse.java", "Java", 0, 7, 15, 6, 28 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DayOfWeekAdapter.java", "Java", 0, 40, 22, 9, 71 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DistanceAdapter.java", "Java", 0, 32, 33, 9, 74 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DurationAdapter.java", "Java", 0, 33, 34, 9, 76 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\EncodedPolylineInstanceCreator.java", "Java", 0, 14, 14, 6, 34 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ExceptionsAllowedToRetry.java", "Java", 0, 19, 14, 8, 41 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\FareAdapter.java", "Java", 0, 36, 26, 8, 70 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GaePendingResult.java", "Java", 0, 199, 44, 24, 267 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GeolocationResponseAdapter.java", "Java", 0, 67, 60, 7, 134 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\HttpHeaders.java", "Java", 0, 7, 19, 7, 33 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\InstantAdapter.java", "Java", 0, 24, 18, 8, 50 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LatLngAdapter.java", "Java", 0, 41, 29, 8, 78 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LocalTimeAdapter.java", "Java", 0, 26, 17, 7, 50 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\OkHttpPendingResult.java", "Java", 0, 260, 50, 35, 345 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PolylineEncoding.java", "Java", 0, 62, 24, 18, 104 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PriceLevelAdapter.java", "Java", 0, 36, 22, 9, 67 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\RateLimitExecutorService.java", "Java", 0, 138, 24, 26, 188 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\SafeEnumAdapter.java", "Java", 0, 37, 22, 10, 69 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\StringJoin.java", "Java", 0, 42, 20, 12, 74 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\UrlSigner.java", "Java", 0, 31, 25, 10, 66 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ZonedDateTimeAdapter.java", "Java", 0, 38, 36, 9, 83 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\LongMath.java", "Java", 0, 12, 41, 4, 57 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Platform.java", "Java", 0, 11, 36, 6, 53 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Preconditions.java", "Java", 0, 54, 85, 12, 151 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\RateLimiter.java", "Java", 0, 161, 254, 36, 451 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\SmoothRateLimiter.java", "Java", 0, 130, 241, 31, 402 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Stopwatch.java", "Java", 0, 110, 111, 22, 243 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Ticker.java", "Java", 0, 15, 39, 6, 60 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetrics.java", "Java", 0, 7, 1, 6, 14 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetricsReporter.java", "Java", 0, 7, 1, 4, 12 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusMetrics.java", "Java", 0, 103, 4, 22, 129 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetrics.java", "Java", 0, 63, 2, 11, 76 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetricsReporter.java", "Java", 0, 14, 1, 5, 20 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetrics.java", "Java", 0, 6, 17, 5, 28 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetricsReporter.java", "Java", 0, 4, 1, 3, 8 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponent.java", "Java", 0, 20, 29, 10, 59 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponentType.java", "Java", 0, 94, 128, 82, 304 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressType.java", "Java", 0, 162, 190, 144, 496 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompletePrediction.java", "Java", 0, 44, 56, 23, 123 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompleteStructuredFormatting.java", "Java", 0, 20, 18, 9, 47 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Bounds.java", "Java", 0, 11, 17, 6, 34 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\CellTower.java", "Java", 0, 89, 47, 17, 153 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ComponentFilter.java", "Java", 0, 34, 59, 13, 106 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsLeg.java", "Java", 0, 37, 66, 16, 119 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsResult.java", "Java", 0, 7, 30, 7, 44 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsRoute.java", "Java", 0, 29, 50, 13, 92 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsStep.java", "Java", 0, 32, 58, 16, 106 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Distance.java", "Java", 0, 11, 23, 8, 42 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrix.java", "Java", 0, 20, 32, 10, 62 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElement.java", "Java", 0, 24, 40, 11, 75 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElementStatus.java", "Java", 0, 6, 24, 5, 35 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixRow.java", "Java", 0, 10, 19, 7, 36 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Duration.java", "Java", 0, 11, 20, 8, 39 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ElevationResult.java", "Java", 0, 12, 22, 7, 41 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\EncodedPolyline.java", "Java", 0, 27, 26, 12, 65 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Fare.java", "Java", 0, 13, 22, 8, 43 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\FindPlaceFromText.java", "Java", 0, 10, 14, 7, 31 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypoint.java", "Java", 0, 21, 27, 10, 58 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypointStatus.java", "Java", 0, 5, 22, 4, 31 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodingResult.java", "Java", 0, 31, 52, 14, 97 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationPayload.java", "Java", 0, 123, 44, 22, 189 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationResult.java", "Java", 0, 11, 28, 6, 45 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Geometry.java", "Java", 0, 14, 30, 9, 53 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LatLng.java", "Java", 0, 34, 25, 13, 72 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LocationType.java", "Java", 0, 16, 37, 9, 62 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\OpeningHours.java", "Java", 0, 79, 55, 30, 164 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Photo.java", "Java", 0, 18, 24, 9, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceAutocompleteType.java", "Java", 0, 21, 18, 8, 47 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceDetails.java", "Java", 0, 196, 139, 70, 405 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceEditorialSummary.java", "Java", 0, 19, 21, 8, 48 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceIdScope.java", "Java", 0, 6, 20, 3, 29 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceType.java", "Java", 0, 125, 15, 8, 148 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResponse.java", "Java", 0, 21, 30, 9, 60 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResult.java", "Java", 0, 56, 43, 20, 119 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlusCode.java", "Java", 0, 17, 17, 8, 42 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PriceLevel.java", "Java", 0, 25, 19, 9, 53 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\RankBy.java", "Java", 0, 18, 15, 8, 41 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Size.java", "Java", 0, 21, 23, 10, 54 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedPoint.java", "Java", 0, 12, 31, 8, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedSpeedLimitResult.java", "Java", 0, 19, 17, 8, 44 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SpeedLimit.java", "Java", 0, 14, 25, 8, 47 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\StopDetails.java", "Java", 0, 11, 23, 8, 42 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TrafficModel.java", "Java", 0, 16, 15, 6, 37 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitAgency.java", "Java", 0, 21, 24, 9, 54 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitDetails.java", "Java", 0, 31, 39, 14, 84 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitLine.java", "Java", 0, 17, 38, 14, 69 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitMode.java", "Java", 0, 18, 16, 7, 41 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitRoutingPreference.java", "Java", 0, 15, 1, 5, 21 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TravelMode.java", "Java", 0, 21, 27, 7, 55 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Unit.java", "Java", 0, 15, 15, 6, 36 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Vehicle.java", "Java", 0, 13, 28, 10, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\VehicleType.java", "Java", 0, 21, 47, 21, 89 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\WifiAccessPoint.java", "Java", 0, 74, 34, 15, 123 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DirectionsApiTest.java", "Java", 0, 456, 72, 61, 589 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DistanceMatrixApiTest.java", "Java", 0, 166, 26, 24, 216 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\ElevationApiTest.java", "Java", 0, 238, 16, 25, 279 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeoApiContextTest.java", "Java", 0, 324, 47, 68, 439 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeocodingApiTest.java", "Java", 0, 1043, 74, 71, 1188 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeolocationApiTest.java", "Java", 0, 388, 14, 37, 439 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LargeTests.java", "Java", 0, 2, 15, 3, 20 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LocalTestServerContext.java", "Java", 0, 113, 16, 21, 150 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\MediumTests.java", "Java", 0, 2, 15, 3, 20 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\PlacesApiTest.java", "Java", 0, 878, 24, 129, 1031 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\RoadsApiIntegrationTest.java", "Java", 0, 165, 14, 22, 201 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\SmallTests.java", "Java", 0, 2, 15, 3, 20 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\StaticMapsApiTest.java", "Java", 0, 224, 15, 35, 274 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TestUtils.java", "Java", 0, 31, 14, 6, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TimeZoneApiTest.java", "Java", 0, 49, 16, 13, 78 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\android\AndroidAuthenticationConfigProviderTest.java", "Java", 0, 40, 0, 13, 53 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\PolylineEncodingTest.java", "Java", 0, 44, 15, 9, 68 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\RateLimitExecutorServiceTest.java", "Java", 0, 79, 19, 13, 111 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\UrlSignerTest.java", "Java", 0, 64, 19, 13, 96 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\metrics\OpenCensusTest.java", "Java", 0, 107, 0, 16, 123 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\EnumsTest.java", "Java", 0, 296, 17, 12, 325 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\LatLngAssert.java", "Java", 0, 9, 15, 6, 30 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\AutocompletePredictionStructuredFormatting.json", "JSON", 50, 0, 0, 1, 51 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsAlongPath.json", "JSON", 805, 0, 0, 0, 805 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsApiBuilderResponse.json", "JSON", 17, 0, 0, 0, 17 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\FindPlaceFromTextMuseumOfContemporaryArt.json", "JSON", 40, 0, 0, 2, 42 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeocodeLibraryType.json", "JSON", 74, 0, 0, 2, 76 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationAlternatePayloadBuilder.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationBasicResponse.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationDocSampleResponse.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumCellTower.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumWifiResponse.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumCellTowerResponse.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumWifiResponse.json", "JSON", 7, 0, 0, 0, 7 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDirectionsResponse.json", "JSON", 37, 0, 0, 0, 37 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDistanceMatrixWithBasicStringParams.json", "JSON", 494, 0, 0, 0, 494 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\OverQueryLimitResponse.json", "JSON", 4, 0, 0, 1, 5 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsFood.json", "JSON", 20, 0, 0, 1, 21 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponse.json", "JSON", 274, 0, 0, 1, 275 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseForPermanentlyClosedPlace.json", "JSON", 7, 0, 0, 1, 8 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseWithBusinessStatus.json", "JSON", 7, 0, 0, 1, 8 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceGeocodeResponse.json", "JSON", 68, 0, 0, 0, 68 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiDetailsInFrenchResponse.json", "JSON", 342, 0, 0, 0, 342 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByKeywordResponse.json", "JSON", 939, 0, 0, 1, 940 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByNameResponse.json", "JSON", 3004, 0, 0, 1, 3005 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByTypeResponse.json", "JSON", 3569, 0, 0, 0, 3569 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPhotoResponse.json", "JSON", 319, 0, 0, 1, 320 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPizzaInNewYorkResponse.json", "JSON", 942, 0, 0, 0, 942 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteResponse.json", "JSON", 293, 0, 0, 1, 294 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteWithTypeResponse.json", "JSON", 227, 0, 0, 0, 227 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiTextSearchResponse.json", "JSON", 178, 0, 0, 1, 179 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponse.json", "JSON", 184, 0, 0, 1, 185 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponseWithPlaceID.json", "JSON", 46, 0, 0, 1, 47 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ResponseTimesArePopulatedCorrectly.json", "JSON", 34, 0, 0, 0, 34 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeResponse.json", "JSON", 675, 0, 0, 0, 675 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeWithKitaWardResponse.json", "JSON", 649, 0, 0, 0, 649 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiNearestRoadsResponse.json", "JSON", 108, 0, 0, 0, 108 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnapToRoadResponse.json", "JSON", 60, 0, 0, 0, 60 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnappedSpeedLimitResponse.json", "JSON", 97, 0, 0, 0, 97 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsResponse.json", "JSON", 97, 0, 0, 0, 97 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsUSAResponse.json", "JSON", 97, 0, 0, 0, 97 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsWithPlaceIds.json", "JSON", 19, 0, 0, 0, 19 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleGeocodeResponse.json", "JSON", 68, 0, 0, 0, 68 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleReverseGeocodeResponse.json", "JSON", 702, 0, 0, 0, 702 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchPizzaInNYC.json", "JSON", 741, 0, 0, 1, 742 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchResponse.json", "JSON", 38, 0, 0, 1, 39 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\UtfResultGeocodeResponse.json", "JSON", 394, 0, 0, 0, 394 -"d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\placesApiKitaWardResponse.json", "JSON", 45, 0, 0, 0, 45 -"Total", "-", 15813, 11545, 6251, 2660, 36269 \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.json b/.VSCodeCounter/2023-10-31_13-57-36/results.json deleted file mode 100644 index f0da3dcc6..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/results.json +++ /dev/null @@ -1 +0,0 @@ -{"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeocodeLibraryType.json":{"language":"JSON","code":74,"comment":0,"blank":2},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationBasicResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/DirectionsAlongPath.json":{"language":"JSON","code":805,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/DirectionsApiBuilderResponse.json":{"language":"JSON","code":17,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMaximumCellTower.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationAlternatePayloadBuilder.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMaximumWifiResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationDocSampleResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMinimumCellTowerResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json":{"language":"JSON","code":40,"comment":0,"blank":2},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/OverQueryLimitResponse.json":{"language":"JSON","code":4,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json":{"language":"JSON","code":50,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponseWithBusinessStatus.json":{"language":"JSON","code":7,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponseForPermanentlyClosedPlace.json":{"language":"JSON","code":7,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GetDistanceMatrixWithBasicStringParams.json":{"language":"JSON","code":494,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsFood.json":{"language":"JSON","code":20,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceDetailsResponse.json":{"language":"JSON","code":274,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/placesApiKitaWardResponse.json":{"language":"JSON","code":45,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlaceGeocodeResponse.json":{"language":"JSON","code":68,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GetDirectionsResponse.json":{"language":"JSON","code":37,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiDetailsInFrenchResponse.json":{"language":"JSON","code":342,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPhotoResponse.json":{"language":"JSON","code":319,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByKeywordResponse.json":{"language":"JSON","code":939,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteResponse.json":{"language":"JSON","code":293,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByNameResponse.json":{"language":"JSON","code":3004,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/GeolocationMinimumWifiResponse.json":{"language":"JSON","code":7,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ResponseTimesArePopulatedCorrectly.json":{"language":"JSON","code":34,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPizzaInNewYorkResponse.json":{"language":"JSON","code":942,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ReverseGeocodeResponse.json":{"language":"JSON","code":675,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/QueryAutocompleteResponseWithPlaceID.json":{"language":"JSON","code":46,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSnapToRoadResponse.json":{"language":"JSON","code":60,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSnappedSpeedLimitResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/UtfResultGeocodeResponse.json":{"language":"JSON","code":394,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiNearbySearchRequestByTypeResponse.json":{"language":"JSON","code":3569,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/TextSearchResponse.json":{"language":"JSON","code":38,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/SimpleReverseGeocodeResponse.json":{"language":"JSON","code":702,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsWithPlaceIds.json":{"language":"JSON","code":19,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/SimpleGeocodeResponse.json":{"language":"JSON","code":68,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiSpeedLimitsUSAResponse.json":{"language":"JSON","code":97,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/TextSearchPizzaInNYC.json":{"language":"JSON","code":741,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/RoadsApiNearestRoadsResponse.json":{"language":"JSON","code":108,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/ReverseGeocodeWithKitaWardResponse.json":{"language":"JSON","code":649,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/QueryAutocompleteResponse.json":{"language":"JSON","code":184,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiTextSearchResponse.json":{"language":"JSON","code":178,"comment":0,"blank":1},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/resources/com/google/maps/PlacesApiPlaceAutocompleteWithTypeResponse.json":{"language":"JSON","code":227,"comment":0,"blank":0},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DirectionsApi.java":{"language":"Java","code":61,"comment":55,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/FindPlaceFromTextRequest.java":{"language":"Java","code":141,"comment":40,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeolocationApiRequest.java":{"language":"Java","code":74,"comment":17,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java":{"language":"Java","code":11,"comment":5,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/Context.java":{"language":"Java","code":67,"comment":17,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/NearbySearchRequest.java":{"language":"Java","code":104,"comment":100,"blank":27},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/InvalidRequestException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxElementsExceededException.java":{"language":"Java","code":7,"comment":20,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressComponent.java":{"language":"Java","code":20,"comment":29,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AutocompletePrediction.java":{"language":"Java","code":44,"comment":56,"blank":23},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Bounds.java":{"language":"Java","code":11,"comment":17,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/OverQueryLimitException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlaceDetailsRequest.java":{"language":"Java","code":135,"comment":60,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AutocompleteStructuredFormatting.java":{"language":"Java","code":20,"comment":18,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/OverDailyLimitException.java":{"language":"Java","code":7,"comment":15,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/NotFoundException.java":{"language":"Java","code":7,"comment":18,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressType.java":{"language":"Java","code":162,"comment":190,"blank":144},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlaceAutocompleteRequest.java":{"language":"Java","code":99,"comment":109,"blank":30},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxWaypointsExceededException.java":{"language":"Java","code":7,"comment":20,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/AddressComponentType.java":{"language":"Java","code":94,"comment":128,"blank":82},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/MaxRouteLengthExceededException.java":{"language":"Java","code":7,"comment":23,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ApiException.java":{"language":"Java","code":58,"comment":31,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PhotoRequest.java":{"language":"Java","code":27,"comment":39,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PendingResultBase.java":{"language":"Java","code":119,"comment":61,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PendingResult.java":{"language":"Java","code":13,"comment":58,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/PackageManager.java":{"language":"Java","code":27,"comment":10,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ApiError.java":{"language":"Java","code":6,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/AccessNotConfiguredException.java":{"language":"Java","code":7,"comment":18,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/PackageInfo.java":{"language":"Java","code":25,"comment":2,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/OkHttpRequestHandler.java":{"language":"Java","code":155,"comment":28,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/NearestRoadsApiRequest.java":{"language":"Java","code":27,"comment":7,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/CellTower.java":{"language":"Java","code":89,"comment":47,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/CertificateHelper.java":{"language":"Java","code":45,"comment":8,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/PlacesApi.java":{"language":"Java","code":74,"comment":137,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/UnknownErrorException.java":{"language":"Java","code":7,"comment":17,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/RequestDeniedException.java":{"language":"Java","code":7,"comment":15,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/QueryAutocompleteRequest.java":{"language":"Java","code":55,"comment":48,"blank":15},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/RoadsApi.java":{"language":"Java","code":64,"comment":80,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsLeg.java":{"language":"Java","code":37,"comment":66,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsResult.java":{"language":"Java","code":7,"comment":30,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/SnapToRoadsApiRequest.java":{"language":"Java","code":30,"comment":13,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/ComponentFilter.java":{"language":"Java","code":34,"comment":59,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/errors/ZeroResultsException.java":{"language":"Java","code":7,"comment":21,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixElementStatus.java":{"language":"Java","code":6,"comment":24,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusRequestMetrics.java":{"language":"Java","code":63,"comment":2,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ApiConfig.java":{"language":"Java","code":28,"comment":15,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Duration.java":{"language":"Java","code":11,"comment":20,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixElement.java":{"language":"Java","code":24,"comment":40,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrixRow.java":{"language":"Java","code":10,"comment":19,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/RequestMetrics.java":{"language":"Java","code":6,"comment":17,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusRequestMetricsReporter.java":{"language":"Java","code":14,"comment":1,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ApiResponse.java":{"language":"Java","code":7,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java":{"language":"Java","code":103,"comment":4,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/TimeZoneApi.java":{"language":"Java","code":44,"comment":30,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DistanceMatrix.java":{"language":"Java","code":20,"comment":32,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DurationAdapter.java":{"language":"Java","code":33,"comment":34,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DistanceAdapter.java":{"language":"Java","code":32,"comment":33,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/EncodedPolylineInstanceCreator.java":{"language":"Java","code":14,"comment":14,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Fare.java":{"language":"Java","code":13,"comment":22,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/EncodedPolyline.java":{"language":"Java","code":27,"comment":26,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/RequestMetricsReporter.java":{"language":"Java","code":4,"comment":1,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/NoOpRequestMetricsReporter.java":{"language":"Java","code":7,"comment":1,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/DayOfWeekAdapter.java":{"language":"Java","code":40,"comment":22,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/TextSearchRequest.java":{"language":"Java","code":96,"comment":91,"blank":26},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/ElevationResult.java":{"language":"Java","code":12,"comment":22,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Distance.java":{"language":"Java","code":11,"comment":23,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/FindPlaceFromText.java":{"language":"Java","code":10,"comment":14,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/metrics/NoOpRequestMetrics.java":{"language":"Java","code":7,"comment":1,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ExceptionsAllowedToRetry.java":{"language":"Java","code":19,"comment":14,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsStep.java":{"language":"Java","code":32,"comment":58,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/StaticMapsApi.java":{"language":"Java","code":8,"comment":21,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/SpeedLimitsApiRequest.java":{"language":"Java","code":33,"comment":13,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/StaticMapsRequest.java":{"language":"Java","code":224,"comment":182,"blank":65},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationInterceptor.java":{"language":"Java","code":29,"comment":5,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/ImageResult.java":{"language":"Java","code":27,"comment":21,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/android/AndroidAuthenticationConfig.java":{"language":"Java","code":12,"comment":7,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/DirectionsRoute.java":{"language":"Java","code":29,"comment":50,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeolocationApi.java":{"language":"Java","code":52,"comment":23,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeocodingApiRequest.java":{"language":"Java","code":55,"comment":83,"blank":17},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodedWaypoint.java":{"language":"Java","code":21,"comment":27,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/FareAdapter.java":{"language":"Java","code":36,"comment":26,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeocodingApi.java":{"language":"Java","code":41,"comment":43,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GaeRequestHandler.java":{"language":"Java","code":128,"comment":21,"blank":19},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/GeoApiContext.java":{"language":"Java","code":381,"comment":180,"blank":72},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/HttpHeaders.java":{"language":"Java","code":7,"comment":19,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/ElevationApi.java":{"language":"Java","code":90,"comment":64,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeolocationPayload.java":{"language":"Java","code":123,"comment":44,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/InstantAdapter.java":{"language":"Java","code":24,"comment":18,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java":{"language":"Java","code":67,"comment":60,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodingResult.java":{"language":"Java","code":31,"comment":52,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeocodedWaypointStatus.java":{"language":"Java","code":5,"comment":22,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/GaePendingResult.java":{"language":"Java","code":199,"comment":44,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/LatLngAdapter.java":{"language":"Java","code":41,"comment":29,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/GeolocationResult.java":{"language":"Java","code":11,"comment":28,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DistanceMatrixApiRequest.java":{"language":"Java","code":74,"comment":113,"blank":19},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DistanceMatrixApi.java":{"language":"Java","code":39,"comment":32,"blank":11},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/DirectionsApiRequest.java":{"language":"Java","code":166,"comment":216,"blank":37},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/LocationType.java":{"language":"Java","code":16,"comment":37,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/SafeEnumAdapter.java":{"language":"Java","code":37,"comment":22,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/StringJoin.java":{"language":"Java","code":42,"comment":20,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceAutocompleteType.java":{"language":"Java","code":21,"comment":18,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ZonedDateTimeAdapter.java":{"language":"Java","code":38,"comment":36,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/RateLimitExecutorService.java":{"language":"Java","code":138,"comment":24,"blank":26},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Photo.java":{"language":"Java","code":18,"comment":24,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceDetails.java":{"language":"Java","code":196,"comment":139,"blank":70},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceEditorialSummary.java":{"language":"Java","code":19,"comment":21,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/OpeningHours.java":{"language":"Java","code":79,"comment":55,"blank":30},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PriceLevel.java":{"language":"Java","code":25,"comment":19,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/UrlSigner.java":{"language":"Java","code":31,"comment":25,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlusCode.java":{"language":"Java","code":17,"comment":17,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SnappedSpeedLimitResult.java":{"language":"Java","code":19,"comment":17,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SpeedLimit.java":{"language":"Java","code":14,"comment":25,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/WifiAccessPoint.java":{"language":"Java","code":74,"comment":34,"blank":15},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/VehicleType.java":{"language":"Java","code":21,"comment":47,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Vehicle.java":{"language":"Java","code":13,"comment":28,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Unit.java":{"language":"Java","code":15,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TravelMode.java":{"language":"Java","code":21,"comment":27,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitRoutingPreference.java":{"language":"Java","code":15,"comment":1,"blank":5},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitMode.java":{"language":"Java","code":18,"comment":16,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitLine.java":{"language":"Java","code":17,"comment":38,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitDetails.java":{"language":"Java","code":31,"comment":39,"blank":14},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TransitAgency.java":{"language":"Java","code":21,"comment":24,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/StopDetails.java":{"language":"Java","code":11,"comment":23,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/TrafficModel.java":{"language":"Java","code":16,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/SnappedPoint.java":{"language":"Java","code":12,"comment":31,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Size.java":{"language":"Java","code":21,"comment":23,"blank":10},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/RankBy.java":{"language":"Java","code":18,"comment":15,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlacesSearchResult.java":{"language":"Java","code":56,"comment":43,"blank":20},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceType.java":{"language":"Java","code":125,"comment":15,"blank":8},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/PriceLevelAdapter.java":{"language":"Java","code":36,"comment":22,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlacesSearchResponse.java":{"language":"Java","code":21,"comment":30,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/PlaceIdScope.java":{"language":"Java","code":6,"comment":20,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/PolylineEncoding.java":{"language":"Java","code":62,"comment":24,"blank":18},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/LatLng.java":{"language":"Java","code":34,"comment":25,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/OkHttpPendingResult.java":{"language":"Java","code":260,"comment":50,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/model/Geometry.java":{"language":"Java","code":14,"comment":30,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/LocalTimeAdapter.java":{"language":"Java","code":26,"comment":17,"blank":7},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java":{"language":"Java","code":161,"comment":254,"blank":36},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Platform.java":{"language":"Java","code":11,"comment":36,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Preconditions.java":{"language":"Java","code":54,"comment":85,"blank":12},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java":{"language":"Java","code":15,"comment":39,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/LongMath.java":{"language":"Java","code":12,"comment":41,"blank":4},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java":{"language":"Java","code":130,"comment":241,"blank":31},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/DistanceMatrixApiTest.java":{"language":"Java","code":166,"comment":26,"blank":24},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java":{"language":"Java","code":110,"comment":111,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/ElevationApiTest.java":{"language":"Java","code":238,"comment":16,"blank":25},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeoApiContextTest.java":{"language":"Java","code":324,"comment":47,"blank":68},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/DirectionsApiTest.java":{"language":"Java","code":456,"comment":72,"blank":61},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/LargeTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/LocalTestServerContext.java":{"language":"Java","code":113,"comment":16,"blank":21},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/RoadsApiIntegrationTest.java":{"language":"Java","code":165,"comment":14,"blank":22},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/PlacesApiTest.java":{"language":"Java","code":878,"comment":24,"blank":129},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/SmallTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/StaticMapsApiTest.java":{"language":"Java","code":224,"comment":15,"blank":35},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/PolylineEncodingTest.java":{"language":"Java","code":44,"comment":15,"blank":9},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java":{"language":"Java","code":40,"comment":0,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/TestUtils.java":{"language":"Java","code":31,"comment":14,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/UrlSignerTest.java":{"language":"Java","code":64,"comment":19,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java":{"language":"Java","code":79,"comment":19,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/TimeZoneApiTest.java":{"language":"Java","code":49,"comment":16,"blank":13},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/MediumTests.java":{"language":"Java","code":2,"comment":15,"blank":3},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeolocationApiTest.java":{"language":"Java","code":388,"comment":14,"blank":37},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/metrics/OpenCensusTest.java":{"language":"Java","code":107,"comment":0,"blank":16},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/model/LatLngAssert.java":{"language":"Java","code":9,"comment":15,"blank":6},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/GeocodingApiTest.java":{"language":"Java","code":1043,"comment":74,"blank":71},"file:///d%3A/Aman/Dalhousie/Term%201/ASDC/Assignment/google-maps-services-java/src/test/java/com/google/maps/model/EnumsTest.java":{"language":"Java","code":296,"comment":17,"blank":12}} \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.md b/.VSCodeCounter/2023-10-31_13-57-36/results.md deleted file mode 100644 index 5113ff4d5..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/results.md +++ /dev/null @@ -1,49 +0,0 @@ -# Summary - -Date : 2023-10-31 13:57:36 - -Directory d:\\Aman\\Dalhousie\\Term 1\\ASDC\\Assignment\\google-maps-services-java\\src - -Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines - -Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) - -## Languages -| language | files | code | comment | blank | total | -| :--- | ---: | ---: | ---: | ---: | ---: | -| JSON | 46 | 15,813 | 0 | 19 | 15,832 | -| Java | 166 | 11,545 | 6,251 | 2,641 | 20,437 | - -## Directories -| path | files | code | comment | blank | total | -| :--- | ---: | ---: | ---: | ---: | ---: | -| . | 212 | 27,358 | 6,251 | 2,660 | 36,269 | -| main | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\\java | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\\java\\com | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\\java\\com\\google | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\\java\\com\\google\\maps | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\\java\\com\\google\\maps (Files) | 30 | 2,636 | 1,985 | 627 | 5,248 | -| main\\java\\com\\google\\maps\\android | 7 | 216 | 54 | 48 | 318 | -| main\\java\\com\\google\\maps\\errors | 13 | 141 | 243 | 64 | 448 | -| main\\java\\com\\google\\maps\\internal | 29 | 1,710 | 1,390 | 371 | 3,471 | -| main\\java\\com\\google\\maps\\internal (Files) | 22 | 1,217 | 583 | 254 | 2,054 | -| main\\java\\com\\google\\maps\\internal\\ratelimiter | 7 | 493 | 807 | 117 | 1,417 | -| main\\java\\com\\google\\maps\\metrics | 7 | 204 | 27 | 56 | 287 | -| main\\java\\com\\google\\maps\\model | 58 | 1,918 | 2,074 | 872 | 4,864 | -| test | 68 | 20,533 | 478 | 622 | 21,633 | -| test\\java | 22 | 4,720 | 478 | 603 | 5,801 | -| test\\java\\com | 22 | 4,720 | 478 | 603 | 5,801 | -| test\\java\\com\\google | 22 | 4,720 | 478 | 603 | 5,801 | -| test\\java\\com\\google\\maps | 22 | 4,720 | 478 | 603 | 5,801 | -| test\\java\\com\\google\\maps (Files) | 15 | 4,081 | 393 | 521 | 4,995 | -| test\\java\\com\\google\\maps\\android | 1 | 40 | 0 | 13 | 53 | -| test\\java\\com\\google\\maps\\internal | 3 | 187 | 53 | 35 | 275 | -| test\\java\\com\\google\\maps\\metrics | 1 | 107 | 0 | 16 | 123 | -| test\\java\\com\\google\\maps\\model | 2 | 305 | 32 | 18 | 355 | -| test\\resources | 46 | 15,813 | 0 | 19 | 15,832 | -| test\\resources\\com | 46 | 15,813 | 0 | 19 | 15,832 | -| test\\resources\\com\\google | 46 | 15,813 | 0 | 19 | 15,832 | -| test\\resources\\com\\google\\maps | 46 | 15,813 | 0 | 19 | 15,832 | - -Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2023-10-31_13-57-36/results.txt b/.VSCodeCounter/2023-10-31_13-57-36/results.txt deleted file mode 100644 index e99c2840f..000000000 --- a/.VSCodeCounter/2023-10-31_13-57-36/results.txt +++ /dev/null @@ -1,264 +0,0 @@ -Date : 2023-10-31 13:57:36 -Directory : d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src -Total : 212 files, 27358 codes, 6251 comments, 2660 blanks, all 36269 lines - -Languages -+----------+------------+------------+------------+------------+------------+ -| language | files | code | comment | blank | total | -+----------+------------+------------+------------+------------+------------+ -| JSON | 46 | 15,813 | 0 | 19 | 15,832 | -| Java | 166 | 11,545 | 6,251 | 2,641 | 20,437 | -+----------+------------+------------+------------+------------+------------+ - -Directories -+----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ -| path | files | code | comment | blank | total | -+----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ -| . | 212 | 27,358 | 6,251 | 2,660 | 36,269 | -| main | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\java | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\java\com | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\java\com\google | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\java\com\google\maps | 144 | 6,825 | 5,773 | 2,038 | 14,636 | -| main\java\com\google\maps (Files) | 30 | 2,636 | 1,985 | 627 | 5,248 | -| main\java\com\google\maps\android | 7 | 216 | 54 | 48 | 318 | -| main\java\com\google\maps\errors | 13 | 141 | 243 | 64 | 448 | -| main\java\com\google\maps\internal | 29 | 1,710 | 1,390 | 371 | 3,471 | -| main\java\com\google\maps\internal (Files) | 22 | 1,217 | 583 | 254 | 2,054 | -| main\java\com\google\maps\internal\ratelimiter | 7 | 493 | 807 | 117 | 1,417 | -| main\java\com\google\maps\metrics | 7 | 204 | 27 | 56 | 287 | -| main\java\com\google\maps\model | 58 | 1,918 | 2,074 | 872 | 4,864 | -| test | 68 | 20,533 | 478 | 622 | 21,633 | -| test\java | 22 | 4,720 | 478 | 603 | 5,801 | -| test\java\com | 22 | 4,720 | 478 | 603 | 5,801 | -| test\java\com\google | 22 | 4,720 | 478 | 603 | 5,801 | -| test\java\com\google\maps | 22 | 4,720 | 478 | 603 | 5,801 | -| test\java\com\google\maps (Files) | 15 | 4,081 | 393 | 521 | 4,995 | -| test\java\com\google\maps\android | 1 | 40 | 0 | 13 | 53 | -| test\java\com\google\maps\internal | 3 | 187 | 53 | 35 | 275 | -| test\java\com\google\maps\metrics | 1 | 107 | 0 | 16 | 123 | -| test\java\com\google\maps\model | 2 | 305 | 32 | 18 | 355 | -| test\resources | 46 | 15,813 | 0 | 19 | 15,832 | -| test\resources\com | 46 | 15,813 | 0 | 19 | 15,832 | -| test\resources\com\google | 46 | 15,813 | 0 | 19 | 15,832 | -| test\resources\com\google\maps | 46 | 15,813 | 0 | 19 | 15,832 | -+----------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ - -Files -+----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ -| filename | language | code | comment | blank | total | -+----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApi.java | Java | 61 | 55 | 20 | 136 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DirectionsApiRequest.java | Java | 166 | 216 | 37 | 419 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApi.java | Java | 39 | 32 | 11 | 82 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\DistanceMatrixApiRequest.java | Java | 74 | 113 | 19 | 206 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ElevationApi.java | Java | 90 | 64 | 20 | 174 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\FindPlaceFromTextRequest.java | Java | 141 | 40 | 35 | 216 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GaeRequestHandler.java | Java | 128 | 21 | 19 | 168 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeoApiContext.java | Java | 381 | 180 | 72 | 633 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApi.java | Java | 41 | 43 | 11 | 95 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeocodingApiRequest.java | Java | 55 | 83 | 17 | 155 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApi.java | Java | 52 | 23 | 12 | 87 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\GeolocationApiRequest.java | Java | 74 | 17 | 18 | 109 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\ImageResult.java | Java | 27 | 21 | 11 | 59 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearbySearchRequest.java | Java | 104 | 100 | 27 | 231 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\NearestRoadsApiRequest.java | Java | 27 | 7 | 7 | 41 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\OkHttpRequestHandler.java | Java | 155 | 28 | 21 | 204 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResult.java | Java | 13 | 58 | 11 | 82 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PendingResultBase.java | Java | 119 | 61 | 24 | 204 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PhotoRequest.java | Java | 27 | 39 | 10 | 76 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceAutocompleteRequest.java | Java | 99 | 109 | 30 | 238 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlaceDetailsRequest.java | Java | 135 | 60 | 21 | 216 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\PlacesApi.java | Java | 74 | 137 | 17 | 228 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\QueryAutocompleteRequest.java | Java | 55 | 48 | 15 | 118 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\RoadsApi.java | Java | 64 | 80 | 18 | 162 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SnapToRoadsApiRequest.java | Java | 30 | 13 | 8 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\SpeedLimitsApiRequest.java | Java | 33 | 13 | 8 | 54 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsApi.java | Java | 8 | 21 | 6 | 35 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\StaticMapsRequest.java | Java | 224 | 182 | 65 | 471 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TextSearchRequest.java | Java | 96 | 91 | 26 | 213 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\TimeZoneApi.java | Java | 44 | 30 | 11 | 85 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfig.java | Java | 12 | 7 | 6 | 25 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationConfigProvider.java | Java | 11 | 5 | 4 | 20 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\AndroidAuthenticationInterceptor.java | Java | 29 | 5 | 10 | 44 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\CertificateHelper.java | Java | 45 | 8 | 8 | 61 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\Context.java | Java | 67 | 17 | 10 | 94 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageInfo.java | Java | 25 | 2 | 5 | 32 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\android\PackageManager.java | Java | 27 | 10 | 5 | 42 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\AccessNotConfiguredException.java | Java | 7 | 18 | 5 | 30 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiError.java | Java | 6 | 15 | 3 | 24 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ApiException.java | Java | 58 | 31 | 8 | 97 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\InvalidRequestException.java | Java | 7 | 15 | 5 | 27 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxElementsExceededException.java | Java | 7 | 20 | 5 | 32 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxRouteLengthExceededException.java | Java | 7 | 23 | 5 | 35 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\MaxWaypointsExceededException.java | Java | 7 | 20 | 4 | 31 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\NotFoundException.java | Java | 7 | 18 | 5 | 30 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverDailyLimitException.java | Java | 7 | 15 | 5 | 27 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\OverQueryLimitException.java | Java | 7 | 15 | 5 | 27 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\RequestDeniedException.java | Java | 7 | 15 | 4 | 26 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\UnknownErrorException.java | Java | 7 | 17 | 5 | 29 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\errors\ZeroResultsException.java | Java | 7 | 21 | 5 | 33 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiConfig.java | Java | 28 | 15 | 9 | 52 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ApiResponse.java | Java | 7 | 15 | 6 | 28 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DayOfWeekAdapter.java | Java | 40 | 22 | 9 | 71 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DistanceAdapter.java | Java | 32 | 33 | 9 | 74 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\DurationAdapter.java | Java | 33 | 34 | 9 | 76 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\EncodedPolylineInstanceCreator.java | Java | 14 | 14 | 6 | 34 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ExceptionsAllowedToRetry.java | Java | 19 | 14 | 8 | 41 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\FareAdapter.java | Java | 36 | 26 | 8 | 70 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GaePendingResult.java | Java | 199 | 44 | 24 | 267 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\GeolocationResponseAdapter.java | Java | 67 | 60 | 7 | 134 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\HttpHeaders.java | Java | 7 | 19 | 7 | 33 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\InstantAdapter.java | Java | 24 | 18 | 8 | 50 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LatLngAdapter.java | Java | 41 | 29 | 8 | 78 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\LocalTimeAdapter.java | Java | 26 | 17 | 7 | 50 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\OkHttpPendingResult.java | Java | 260 | 50 | 35 | 345 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PolylineEncoding.java | Java | 62 | 24 | 18 | 104 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\PriceLevelAdapter.java | Java | 36 | 22 | 9 | 67 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\RateLimitExecutorService.java | Java | 138 | 24 | 26 | 188 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\SafeEnumAdapter.java | Java | 37 | 22 | 10 | 69 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\StringJoin.java | Java | 42 | 20 | 12 | 74 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\UrlSigner.java | Java | 31 | 25 | 10 | 66 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ZonedDateTimeAdapter.java | Java | 38 | 36 | 9 | 83 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\LongMath.java | Java | 12 | 41 | 4 | 57 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Platform.java | Java | 11 | 36 | 6 | 53 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Preconditions.java | Java | 54 | 85 | 12 | 151 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\RateLimiter.java | Java | 161 | 254 | 36 | 451 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\SmoothRateLimiter.java | Java | 130 | 241 | 31 | 402 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Stopwatch.java | Java | 110 | 111 | 22 | 243 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\internal\ratelimiter\Ticker.java | Java | 15 | 39 | 6 | 60 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetrics.java | Java | 7 | 1 | 6 | 14 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\NoOpRequestMetricsReporter.java | Java | 7 | 1 | 4 | 12 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusMetrics.java | Java | 103 | 4 | 22 | 129 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetrics.java | Java | 63 | 2 | 11 | 76 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\OpenCensusRequestMetricsReporter.java | Java | 14 | 1 | 5 | 20 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetrics.java | Java | 6 | 17 | 5 | 28 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\metrics\RequestMetricsReporter.java | Java | 4 | 1 | 3 | 8 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponent.java | Java | 20 | 29 | 10 | 59 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressComponentType.java | Java | 94 | 128 | 82 | 304 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AddressType.java | Java | 162 | 190 | 144 | 496 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompletePrediction.java | Java | 44 | 56 | 23 | 123 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\AutocompleteStructuredFormatting.java | Java | 20 | 18 | 9 | 47 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Bounds.java | Java | 11 | 17 | 6 | 34 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\CellTower.java | Java | 89 | 47 | 17 | 153 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ComponentFilter.java | Java | 34 | 59 | 13 | 106 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsLeg.java | Java | 37 | 66 | 16 | 119 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsResult.java | Java | 7 | 30 | 7 | 44 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsRoute.java | Java | 29 | 50 | 13 | 92 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DirectionsStep.java | Java | 32 | 58 | 16 | 106 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Distance.java | Java | 11 | 23 | 8 | 42 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrix.java | Java | 20 | 32 | 10 | 62 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElement.java | Java | 24 | 40 | 11 | 75 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixElementStatus.java | Java | 6 | 24 | 5 | 35 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\DistanceMatrixRow.java | Java | 10 | 19 | 7 | 36 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Duration.java | Java | 11 | 20 | 8 | 39 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\ElevationResult.java | Java | 12 | 22 | 7 | 41 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\EncodedPolyline.java | Java | 27 | 26 | 12 | 65 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Fare.java | Java | 13 | 22 | 8 | 43 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\FindPlaceFromText.java | Java | 10 | 14 | 7 | 31 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypoint.java | Java | 21 | 27 | 10 | 58 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodedWaypointStatus.java | Java | 5 | 22 | 4 | 31 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeocodingResult.java | Java | 31 | 52 | 14 | 97 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationPayload.java | Java | 123 | 44 | 22 | 189 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\GeolocationResult.java | Java | 11 | 28 | 6 | 45 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Geometry.java | Java | 14 | 30 | 9 | 53 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LatLng.java | Java | 34 | 25 | 13 | 72 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\LocationType.java | Java | 16 | 37 | 9 | 62 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\OpeningHours.java | Java | 79 | 55 | 30 | 164 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Photo.java | Java | 18 | 24 | 9 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceAutocompleteType.java | Java | 21 | 18 | 8 | 47 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceDetails.java | Java | 196 | 139 | 70 | 405 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceEditorialSummary.java | Java | 19 | 21 | 8 | 48 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceIdScope.java | Java | 6 | 20 | 3 | 29 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlaceType.java | Java | 125 | 15 | 8 | 148 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResponse.java | Java | 21 | 30 | 9 | 60 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlacesSearchResult.java | Java | 56 | 43 | 20 | 119 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PlusCode.java | Java | 17 | 17 | 8 | 42 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\PriceLevel.java | Java | 25 | 19 | 9 | 53 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\RankBy.java | Java | 18 | 15 | 8 | 41 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Size.java | Java | 21 | 23 | 10 | 54 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedPoint.java | Java | 12 | 31 | 8 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SnappedSpeedLimitResult.java | Java | 19 | 17 | 8 | 44 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\SpeedLimit.java | Java | 14 | 25 | 8 | 47 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\StopDetails.java | Java | 11 | 23 | 8 | 42 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TrafficModel.java | Java | 16 | 15 | 6 | 37 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitAgency.java | Java | 21 | 24 | 9 | 54 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitDetails.java | Java | 31 | 39 | 14 | 84 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitLine.java | Java | 17 | 38 | 14 | 69 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitMode.java | Java | 18 | 16 | 7 | 41 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TransitRoutingPreference.java | Java | 15 | 1 | 5 | 21 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\TravelMode.java | Java | 21 | 27 | 7 | 55 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Unit.java | Java | 15 | 15 | 6 | 36 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\Vehicle.java | Java | 13 | 28 | 10 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\VehicleType.java | Java | 21 | 47 | 21 | 89 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\main\java\com\google\maps\model\WifiAccessPoint.java | Java | 74 | 34 | 15 | 123 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DirectionsApiTest.java | Java | 456 | 72 | 61 | 589 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\DistanceMatrixApiTest.java | Java | 166 | 26 | 24 | 216 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\ElevationApiTest.java | Java | 238 | 16 | 25 | 279 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeoApiContextTest.java | Java | 324 | 47 | 68 | 439 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeocodingApiTest.java | Java | 1,043 | 74 | 71 | 1,188 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\GeolocationApiTest.java | Java | 388 | 14 | 37 | 439 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LargeTests.java | Java | 2 | 15 | 3 | 20 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\LocalTestServerContext.java | Java | 113 | 16 | 21 | 150 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\MediumTests.java | Java | 2 | 15 | 3 | 20 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\PlacesApiTest.java | Java | 878 | 24 | 129 | 1,031 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\RoadsApiIntegrationTest.java | Java | 165 | 14 | 22 | 201 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\SmallTests.java | Java | 2 | 15 | 3 | 20 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\StaticMapsApiTest.java | Java | 224 | 15 | 35 | 274 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TestUtils.java | Java | 31 | 14 | 6 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\TimeZoneApiTest.java | Java | 49 | 16 | 13 | 78 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\android\AndroidAuthenticationConfigProviderTest.java | Java | 40 | 0 | 13 | 53 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\PolylineEncodingTest.java | Java | 44 | 15 | 9 | 68 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\RateLimitExecutorServiceTest.java | Java | 79 | 19 | 13 | 111 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\internal\UrlSignerTest.java | Java | 64 | 19 | 13 | 96 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\metrics\OpenCensusTest.java | Java | 107 | 0 | 16 | 123 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\EnumsTest.java | Java | 296 | 17 | 12 | 325 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\java\com\google\maps\model\LatLngAssert.java | Java | 9 | 15 | 6 | 30 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\AutocompletePredictionStructuredFormatting.json | JSON | 50 | 0 | 1 | 51 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsAlongPath.json | JSON | 805 | 0 | 0 | 805 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\DirectionsApiBuilderResponse.json | JSON | 17 | 0 | 0 | 17 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\FindPlaceFromTextMuseumOfContemporaryArt.json | JSON | 40 | 0 | 2 | 42 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeocodeLibraryType.json | JSON | 74 | 0 | 2 | 76 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationAlternatePayloadBuilder.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationBasicResponse.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationDocSampleResponse.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumCellTower.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMaximumWifiResponse.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumCellTowerResponse.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GeolocationMinimumWifiResponse.json | JSON | 7 | 0 | 0 | 7 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDirectionsResponse.json | JSON | 37 | 0 | 0 | 37 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\GetDistanceMatrixWithBasicStringParams.json | JSON | 494 | 0 | 0 | 494 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\OverQueryLimitResponse.json | JSON | 4 | 0 | 1 | 5 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsFood.json | JSON | 20 | 0 | 1 | 21 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponse.json | JSON | 274 | 0 | 1 | 275 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseForPermanentlyClosedPlace.json | JSON | 7 | 0 | 1 | 8 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceDetailsResponseWithBusinessStatus.json | JSON | 7 | 0 | 1 | 8 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlaceGeocodeResponse.json | JSON | 68 | 0 | 0 | 68 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiDetailsInFrenchResponse.json | JSON | 342 | 0 | 0 | 342 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByKeywordResponse.json | JSON | 939 | 0 | 1 | 940 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByNameResponse.json | JSON | 3,004 | 0 | 1 | 3,005 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiNearbySearchRequestByTypeResponse.json | JSON | 3,569 | 0 | 0 | 3,569 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPhotoResponse.json | JSON | 319 | 0 | 1 | 320 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPizzaInNewYorkResponse.json | JSON | 942 | 0 | 0 | 942 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteResponse.json | JSON | 293 | 0 | 1 | 294 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiPlaceAutocompleteWithTypeResponse.json | JSON | 227 | 0 | 0 | 227 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\PlacesApiTextSearchResponse.json | JSON | 178 | 0 | 1 | 179 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponse.json | JSON | 184 | 0 | 1 | 185 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\QueryAutocompleteResponseWithPlaceID.json | JSON | 46 | 0 | 1 | 47 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ResponseTimesArePopulatedCorrectly.json | JSON | 34 | 0 | 0 | 34 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeResponse.json | JSON | 675 | 0 | 0 | 675 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\ReverseGeocodeWithKitaWardResponse.json | JSON | 649 | 0 | 0 | 649 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiNearestRoadsResponse.json | JSON | 108 | 0 | 0 | 108 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnapToRoadResponse.json | JSON | 60 | 0 | 0 | 60 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSnappedSpeedLimitResponse.json | JSON | 97 | 0 | 0 | 97 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsResponse.json | JSON | 97 | 0 | 0 | 97 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsUSAResponse.json | JSON | 97 | 0 | 0 | 97 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\RoadsApiSpeedLimitsWithPlaceIds.json | JSON | 19 | 0 | 0 | 19 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleGeocodeResponse.json | JSON | 68 | 0 | 0 | 68 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\SimpleReverseGeocodeResponse.json | JSON | 702 | 0 | 0 | 702 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchPizzaInNYC.json | JSON | 741 | 0 | 1 | 742 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\TextSearchResponse.json | JSON | 38 | 0 | 1 | 39 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\UtfResultGeocodeResponse.json | JSON | 394 | 0 | 0 | 394 | -| d:\Aman\Dalhousie\Term 1\ASDC\Assignment\google-maps-services-java\src\test\resources\com\google\maps\placesApiKitaWardResponse.json | JSON | 45 | 0 | 0 | 45 | -| Total | | 27,358 | 6,251 | 2,660 | 36,269 | -+----------------------------------------------------------------------------------------------------------------------------------------------------------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 4782add50..4e86fe0bb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -10,13 +10,16 @@ assignees: '' Thanks for stopping by to let us know something could be better! --- -**PLEASE READ** +**PLEASE READ** -If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/). This will ensure a timely response. +If you have a support contract with Google, please create an issue in +the [support console](https://cloud.google.com/support/). This will ensure a timely response. -Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). +Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, +and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). -If your bug or feature request is not related to this particular library, please visit the Google Maps Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). +If your bug or feature request is not related to this particular library, please visit the Google Maps +Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). Check for answers on StackOverflow with the [google-maps](http://stackoverflow.com/questions/tagged/google-maps) tag. @@ -32,7 +35,7 @@ Please be sure to include as much information as possible: #### Steps to reproduce - 1. ? +1. ? #### Code example @@ -41,6 +44,7 @@ Please be sure to include as much information as possible: ``` #### Stack trace + ``` # example ``` diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 39c3c5abe..91a139d49 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -10,26 +10,29 @@ assignees: '' Thanks for stopping by to let us know something could be better! --- -**PLEASE READ** +**PLEASE READ** -If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/). This will ensure a timely response. +If you have a support contract with Google, please create an issue in +the [support console](https://cloud.google.com/support/). This will ensure a timely response. -Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). +Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, +and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). -If your bug or feature request is not related to this particular library, please visit the Google Maps Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). +If your bug or feature request is not related to this particular library, please visit the Google Maps +Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). Check for answers on StackOverflow with the [google-maps](http://stackoverflow.com/questions/tagged/google-maps) tag. --- - **Is your feature request related to a problem? Please describe.** +**Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - **Describe the solution you'd like** +**Describe the solution you'd like** A clear and concise description of what you want to happen. - **Describe alternatives you've considered** +**Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. - **Additional context** +**Additional context** Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/support_request.md b/.github/ISSUE_TEMPLATE/support_request.md index 495a5c99b..41eb1f036 100644 --- a/.github/ISSUE_TEMPLATE/support_request.md +++ b/.github/ISSUE_TEMPLATE/support_request.md @@ -8,13 +8,16 @@ assignees: '' --- -**PLEASE READ** +**PLEASE READ** -If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/). This will ensure a timely response. +If you have a support contract with Google, please create an issue in +the [support console](https://cloud.google.com/support/). This will ensure a timely response. -Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). +Discover additional support services for the Google Maps Platform, including developer communities, technical guidance, +and expert support at the Google Maps Platform [support resources page](https://developers.google.com/maps/support/). -If your bug or feature request is not related to this particular library, please visit the Google Maps Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). +If your bug or feature request is not related to this particular library, please visit the Google Maps +Platform [issue trackers](https://developers.google.com/maps/support/#issue_tracker). Check for answers on StackOverflow with the [google-maps](http://stackoverflow.com/questions/tagged/google-maps) tag. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index 4d7d59e9b..51bf0c7a6 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -3,8 +3,12 @@ name: Pull request about: Create a pull request label: 'triage me' --- -Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: -- [ ] Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea + +Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes +smoothly: + +- [ ] Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the + change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8fd289403..3dba0109a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,9 +1,9 @@ version: 2 updates: -- package-ecosystem: gradle - directory: "." - schedule: - interval: "weekly" - open-pull-requests-limit: 10 - commit-message: - prefix: chore(deps) + - package-ecosystem: gradle + directory: "." + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + commit-message: + prefix: chore(deps) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 009707d4c..ac0602fe5 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -3,7 +3,9 @@ Thank you for opening a Pull Request! --- Before submitting your PR, there are a few things you can do to make sure it goes smoothly: -- [ ] Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea + +- [ ] Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the + change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) diff --git a/.github/stale.yml b/.github/stale.yml index 8ed0e080f..925cfd703 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -8,7 +8,7 @@ daysUntilStale: 120 daysUntilClose: 180 # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) -onlyLabels: [] +onlyLabels: [ ] # Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable exemptLabels: diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml index a7b2d39c0..65a41ea62 100644 --- a/.github/sync-repo-settings.yaml +++ b/.github/sync-repo-settings.yaml @@ -19,26 +19,26 @@ squashMergeAllowed: true mergeCommitAllowed: false deleteBranchOnMerge: true branchProtectionRules: -- pattern: main - isAdminEnforced: false - requiresStrictStatusChecks: false - requiredStatusCheckContexts: - - 'cla/google' - - 'test' - - 'snippet-bot check' - - 'header-check' - requiredApprovingReviewCount: 1 - requiresCodeOwnerReviews: true -- pattern: master - isAdminEnforced: false - requiresStrictStatusChecks: false - requiredStatusCheckContexts: - - 'cla/google' - - 'test' - - 'snippet-bot check' - - 'header-check' - requiredApprovingReviewCount: 1 - requiresCodeOwnerReviews: true + - pattern: main + isAdminEnforced: false + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - 'cla/google' + - 'test' + - 'snippet-bot check' + - 'header-check' + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true + - pattern: master + isAdminEnforced: false + requiresStrictStatusChecks: false + requiredStatusCheckContexts: + - 'cla/google' + - 'test' + - 'snippet-bot check' + - 'header-check' + requiredApprovingReviewCount: 1 + requiresCodeOwnerReviews: true permissionRules: - team: admin permission: admin diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc900a36a..79cac3398 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,38 +22,38 @@ jobs: release: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v2 - with: - token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} - - name: Create .gpg key - run: | - echo $GPG_KEY_ARMOR | base64 --decode > ./release.asc - gpg --quiet --output $GITHUB_WORKSPACE/release.gpg --dearmor ./release.asc - - SONATYPE_PASSWORD_ESCAPED=$(printf '%s\n' "$SONATYPE_PASSWORD" | sed -e 's/[\/&]/\\&/g') - sed -i -e "s,sonatypeUsername=,sonatypeUsername=$SONATYPE_USERNAME,g" gradle.properties - sed -i -e "s,sonatypePassword=,sonatypePassword=$SONATYPE_PASSWORD_ESCAPED,g" gradle.properties - sed -i -e "s,githubPassword=,githubPassword=$GITHUB_PASSWORD,g" gradle.properties - sed -i -e "s,signing.keyId=,signing.keyId=$GPG_KEY_ID,g" gradle.properties - sed -i -e "s,signing.password=,signing.password=$GPG_PASSWORD,g" gradle.properties - sed -i -e "s,signing.secretKeyRingFile=,signing.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg,g" gradle.properties - env: - GPG_KEY_ARMOR: "${{ secrets.SYNCED_GPG_KEY_ARMOR }}" - GPG_KEY_ID: ${{ secrets.SYNCED_GPG_KEY_ID }} - GPG_PASSWORD: ${{ secrets.SYNCED_GPG_KEY_PASSWORD }} - SONATYPE_PASSWORD: '${{ secrets.SYNCED_SONATYPE_PASSWORD }}' - SONATYPE_USERNAME: ${{ secrets.SYNCED_SONATYPE_USERNAME }} - GITHUB_PASSWORD: '${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}' - - name: Semantic Release - uses: cycjimmy/semantic-release-action@v3 - with: - extra_plugins: | - "@semantic-release/commit-analyzer" - "@semantic-release/release-notes-generator" - "@google/semantic-release-replace-plugin" - "@semantic-release/exec" - "@semantic-release/git" - "@semantic-release/github" - env: - GH_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + - name: Checkout + uses: actions/checkout@v2 + with: + token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + - name: Create .gpg key + run: | + echo $GPG_KEY_ARMOR | base64 --decode > ./release.asc + gpg --quiet --output $GITHUB_WORKSPACE/release.gpg --dearmor ./release.asc + + SONATYPE_PASSWORD_ESCAPED=$(printf '%s\n' "$SONATYPE_PASSWORD" | sed -e 's/[\/&]/\\&/g') + sed -i -e "s,sonatypeUsername=,sonatypeUsername=$SONATYPE_USERNAME,g" gradle.properties + sed -i -e "s,sonatypePassword=,sonatypePassword=$SONATYPE_PASSWORD_ESCAPED,g" gradle.properties + sed -i -e "s,githubPassword=,githubPassword=$GITHUB_PASSWORD,g" gradle.properties + sed -i -e "s,signing.keyId=,signing.keyId=$GPG_KEY_ID,g" gradle.properties + sed -i -e "s,signing.password=,signing.password=$GPG_PASSWORD,g" gradle.properties + sed -i -e "s,signing.secretKeyRingFile=,signing.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg,g" gradle.properties + env: + GPG_KEY_ARMOR: "${{ secrets.SYNCED_GPG_KEY_ARMOR }}" + GPG_KEY_ID: ${{ secrets.SYNCED_GPG_KEY_ID }} + GPG_PASSWORD: ${{ secrets.SYNCED_GPG_KEY_PASSWORD }} + SONATYPE_PASSWORD: '${{ secrets.SYNCED_SONATYPE_PASSWORD }}' + SONATYPE_USERNAME: ${{ secrets.SYNCED_SONATYPE_USERNAME }} + GITHUB_PASSWORD: '${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}' + - name: Semantic Release + uses: cycjimmy/semantic-release-action@v3 + with: + extra_plugins: | + "@semantic-release/commit-analyzer" + "@semantic-release/release-notes-generator" + "@google/semantic-release-replace-plugin" + "@semantic-release/exec" + "@semantic-release/git" + "@semantic-release/github" + env: + GH_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2b112f7ed..728342668 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,22 +17,22 @@ name: Test on: repository_dispatch: - types: [test] + types: [ test ] pull_request: - branches: ['*'] + branches: [ '*' ] push: - branches: ['*'] + branches: [ '*' ] jobs: test: runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v2 - - name: Run tests - run: ./gradlew check test jacocoTestReport --stacktrace + - name: Run tests + run: ./gradlew check test jacocoTestReport --stacktrace - - name: Send test results to CodeCov - run: bash <(curl -s https://codecov.io/bash) + - name: Send test results to CodeCov + run: bash <(curl -s https://codecov.io/bash) diff --git a/CHANGELOG.md b/CHANGELOG.md index b630f4fc4..ac4146cc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,88 +8,126 @@ All notable changes to this project will be documented in this file. ### Bug Fixes -- increase stale bot window ([22a2b4c](https://github.com/googlemaps/google-maps-services-java/commit/22a2b4cb8d6530e59494b9b25681bbae33d5ee60)) -- added path exception when there is no center or no zoom (#650) ([47acc92](https://github.com/googlemaps/google-maps-services-java/commit/47acc92)), closes [#650](https://github.com/googlemaps/google-maps-services-java/issues/650) -- added primary school as a poi AddressType to silence SafeEnumAdapter … (#646) ([6500947](https://github.com/googlemaps/google-maps-services-java/commit/6500947)), closes [#646](https://github.com/googlemaps/google-maps-services-java/issues/646) -- typo in FieldMask lon to lng ([#654](https://github.com/googlemaps/google-maps-services-java/issues/654)) ([244d188](https://github.com/googlemaps/google-maps-services-java/commit/244d188a229fdbde29bc397228a2cc1ca28946d6)) +- increase stale bot + window ([22a2b4c](https://github.com/googlemaps/google-maps-services-java/commit/22a2b4cb8d6530e59494b9b25681bbae33d5ee60)) +- added path exception when there is no center or no zoom ( + #650) ([47acc92](https://github.com/googlemaps/google-maps-services-java/commit/47acc92)), + closes [#650](https://github.com/googlemaps/google-maps-services-java/issues/650) +- added primary school as a poi AddressType to silence SafeEnumAdapter … ( + #646) ([6500947](https://github.com/googlemaps/google-maps-services-java/commit/6500947)), + closes [#646](https://github.com/googlemaps/google-maps-services-java/issues/646) +- typo in FieldMask lon to + lng ([#654](https://github.com/googlemaps/google-maps-services-java/issues/654)) ([244d188](https://github.com/googlemaps/google-maps-services-java/commit/244d188a229fdbde29bc397228a2cc1ca28946d6)) ### Features -- add support for experience id. ([#647](https://github.com/googlemaps/google-maps-services-java/issues/647)) ([b229806](https://github.com/googlemaps/google-maps-services-java/commit/b229806526c9a1e0b98a71889a209446a1035d36)) +- add support for experience + id. ([#647](https://github.com/googlemaps/google-maps-services-java/issues/647)) ([b229806](https://github.com/googlemaps/google-maps-services-java/commit/b229806526c9a1e0b98a71889a209446a1035d36)) ## [v0.10.2](https://github.com/googlemaps/google-maps-services-java/compare/v0.10.1...v0.10.2) - 2019-12-10 ### Merged -- fix: Add MAX_ROUTE_LENGTH_EXCEEDED Exception [`#632`](https://github.com/googlemaps/google-maps-services-java/pull/632) +- fix: Add MAX_ROUTE_LENGTH_EXCEEDED + Exception [`#632`](https://github.com/googlemaps/google-maps-services-java/pull/632) - fix: Add more AddressComponentTypes [`#633`](https://github.com/googlemaps/google-maps-services-java/pull/633) -- automate publish to staging repository with additional nexus plugins [`#610`](https://github.com/googlemaps/google-maps-services-java/pull/610) -- mark additional deprecations for alt_id and scope in PlaceDetails [`#613`](https://github.com/googlemaps/google-maps-services-java/pull/613) +- automate publish to staging repository with additional nexus + plugins [`#610`](https://github.com/googlemaps/google-maps-services-java/pull/610) +- mark additional deprecations for alt_id and scope in + PlaceDetails [`#613`](https://github.com/googlemaps/google-maps-services-java/pull/613) - update okhttp dependency [`#614`](https://github.com/googlemaps/google-maps-services-java/pull/614) -- direct users to https://www.javadoc.io/doc/com.google.maps/google-maps-services [`#612`](https://github.com/googlemaps/google-maps-services-java/pull/612) -- add additional place types and deprecate non supported [`#608`](https://github.com/googlemaps/google-maps-services-java/pull/608) -- deprecation warning for place fields: `alt_id`, `id`, `reference`, and `scope` [`#605`](https://github.com/googlemaps/google-maps-services-java/pull/605) +- direct users + to https://www.javadoc.io/doc/com.google.maps/google-maps-services [`#612`](https://github.com/googlemaps/google-maps-services-java/pull/612) +- add additional place types and deprecate non + supported [`#608`](https://github.com/googlemaps/google-maps-services-java/pull/608) +- deprecation warning for place fields: `alt_id`, `id`, `reference`, + and `scope` [`#605`](https://github.com/googlemaps/google-maps-services-java/pull/605) ### Commits -- add stale config [`f7b2116`](https://github.com/googlemaps/google-maps-services-java/commit/f7b211626318b6e5ee079a5e211b66720fd3f639) -- update issue templates [`e6273e3`](https://github.com/googlemaps/google-maps-services-java/commit/e6273e39ee33bb4e84fb3c055c170ebed443d298) -- modify stale config [`fd856b8`](https://github.com/googlemaps/google-maps-services-java/commit/fd856b89de01bd0d64b194a2f1c2ad5333b1d778) +- add stale + config [`f7b2116`](https://github.com/googlemaps/google-maps-services-java/commit/f7b211626318b6e5ee079a5e211b66720fd3f639) +- update issue + templates [`e6273e3`](https://github.com/googlemaps/google-maps-services-java/commit/e6273e39ee33bb4e84fb3c055c170ebed443d298) +- modify stale + config [`fd856b8`](https://github.com/googlemaps/google-maps-services-java/commit/fd856b89de01bd0d64b194a2f1c2ad5333b1d778) ## [v0.10.1](https://github.com/googlemaps/google-maps-services-java/compare/v0.10.0...v0.10.1) - 2019-09-23 ### Merged -- Fixes issue where deps were not being added to pom.xml [`#606`](https://github.com/googlemaps/google-maps-services-java/pull/606) +- Fixes issue where deps were not being added to + pom.xml [`#606`](https://github.com/googlemaps/google-maps-services-java/pull/606) - Add tourist_attraction address type [`#601`](https://github.com/googlemaps/google-maps-services-java/pull/601) - add changelog [`#598`](https://github.com/googlemaps/google-maps-services-java/pull/598) -- add subfields to mask values for place details request [`#597`](https://github.com/googlemaps/google-maps-services-java/pull/597) +- add subfields to mask values for place details + request [`#597`](https://github.com/googlemaps/google-maps-services-java/pull/597) - add github issue templates [`#595`](https://github.com/googlemaps/google-maps-services-java/pull/595) -- Include plus_code in PlaceDetailsRequest.FieldMask [`#594`](https://github.com/googlemaps/google-maps-services-java/pull/594) +- Include plus_code in + PlaceDetailsRequest.FieldMask [`#594`](https://github.com/googlemaps/google-maps-services-java/pull/594) ### Commits -- update changelog for 0.10.1 [`943c0d9`](https://github.com/googlemaps/google-maps-services-java/commit/943c0d972301bb5bbf0980cd0951665eec6a5b30) -- add contributor and stackoverflow badges [`47b5c1c`](https://github.com/googlemaps/google-maps-services-java/commit/47b5c1cfca0ed093a81a3c11e97a6d19adb32892) +- update changelog for + 0.10.1 [`943c0d9`](https://github.com/googlemaps/google-maps-services-java/commit/943c0d972301bb5bbf0980cd0951665eec6a5b30) +- add contributor and stackoverflow + badges [`47b5c1c`](https://github.com/googlemaps/google-maps-services-java/commit/47b5c1cfca0ed093a81a3c11e97a6d19adb32892) ## [v0.10.0](https://github.com/googlemaps/google-maps-services-java/compare/v0.9.4...v0.10.0) - 2019-08-27 ### Merged -- Updates to build/release and v0.10.0 version rev [`#592`](https://github.com/googlemaps/google-maps-services-java/pull/592) +- Updates to build/release and v0.10.0 version + rev [`#592`](https://github.com/googlemaps/google-maps-services-java/pull/592) - Making serializable PlusCode [`#591`](https://github.com/googlemaps/google-maps-services-java/pull/591) -- Upgrades build process to use maven-publish plugin [`#590`](https://github.com/googlemaps/google-maps-services-java/pull/590) -- add userRatingsTotal to PlaceDetails, add unit tests [`#587`](https://github.com/googlemaps/google-maps-services-java/pull/587) -- Add an overloaded method to enable query and location parameters [`#588`](https://github.com/googlemaps/google-maps-services-java/pull/588) +- Upgrades build process to use maven-publish + plugin [`#590`](https://github.com/googlemaps/google-maps-services-java/pull/590) +- add userRatingsTotal to PlaceDetails, add unit + tests [`#587`](https://github.com/googlemaps/google-maps-services-java/pull/587) +- Add an overloaded method to enable query and location + parameters [`#588`](https://github.com/googlemaps/google-maps-services-java/pull/588) ### Commits -- Update JavaDoc [`ec0f0a8`](https://github.com/googlemaps/google-maps-services-java/commit/ec0f0a827f6e61b464c67e54d1a2c752ec05141d) -- Opening up v0.9.5 for development [`68993f0`](https://github.com/googlemaps/google-maps-services-java/commit/68993f053bc9324e3a4dc597eeedaf0a3bfcef7d) +- Update + JavaDoc [`ec0f0a8`](https://github.com/googlemaps/google-maps-services-java/commit/ec0f0a827f6e61b464c67e54d1a2c752ec05141d) +- Opening up v0.9.5 for + development [`68993f0`](https://github.com/googlemaps/google-maps-services-java/commit/68993f053bc9324e3a4dc597eeedaf0a3bfcef7d) ## [v0.9.4](https://github.com/googlemaps/google-maps-services-java/compare/v0.9.3...v0.9.4) - 2019-08-07 ### Merged - Releasing v0.9.4 [`#586`](https://github.com/googlemaps/google-maps-services-java/pull/586) -- Gradle downgrade 5.5.1 -> 5.0 for broken signing [`#585`](https://github.com/googlemaps/google-maps-services-java/pull/585) +- Gradle downgrade 5.5.1 -> 5.0 for broken + signing [`#585`](https://github.com/googlemaps/google-maps-services-java/pull/585) - Versions version update [`#584`](https://github.com/googlemaps/google-maps-services-java/pull/584) - Version update [`#582`](https://github.com/googlemaps/google-maps-services-java/pull/582) -- #572: updated the access modifier for response inner classes in Api Classes [`#581`](https://github.com/googlemaps/google-maps-services-java/pull/581) -- Fix: Format java files that break tests using gradlew check [`#573`](https://github.com/googlemaps/google-maps-services-java/pull/573) -- Add user_ratings_total to the PlaceSearchResult [`#571`](https://github.com/googlemaps/google-maps-services-java/pull/571) -- Add Serializable definition to AutoCompletePrediction$Term class [`#569`](https://github.com/googlemaps/google-maps-services-java/pull/569) -- [NOT URGENT] add new textSearchQuery (overload) method with test [`#567`](https://github.com/googlemaps/google-maps-services-java/pull/567) -- Validate TextSearchRequest without query if type is set [`#566`](https://github.com/googlemaps/google-maps-services-java/pull/566) -- Add implementation of Serializable to AutocompletePrediction [`#565`](https://github.com/googlemaps/google-maps-services-java/pull/565) +- #572: updated the access modifier for response inner classes in Api + Classes [`#581`](https://github.com/googlemaps/google-maps-services-java/pull/581) +- Fix: Format java files that break tests using gradlew + check [`#573`](https://github.com/googlemaps/google-maps-services-java/pull/573) +- Add user_ratings_total to the + PlaceSearchResult [`#571`](https://github.com/googlemaps/google-maps-services-java/pull/571) +- Add Serializable definition to AutoCompletePrediction$Term + class [`#569`](https://github.com/googlemaps/google-maps-services-java/pull/569) +- [NOT URGENT] add new textSearchQuery (overload) method with + test [`#567`](https://github.com/googlemaps/google-maps-services-java/pull/567) +- Validate TextSearchRequest without query if type is + set [`#566`](https://github.com/googlemaps/google-maps-services-java/pull/566) +- Add implementation of Serializable to + AutocompletePrediction [`#565`](https://github.com/googlemaps/google-maps-services-java/pull/565) - Add Light Rail Station into PlaceType [`#562`](https://github.com/googlemaps/google-maps-services-java/pull/562) - Add meal_delivery AddressComponentType [`#561`](https://github.com/googlemaps/google-maps-services-java/pull/561) ### Commits -- add new textSearchQuery method with test [`96a6a56`](https://github.com/googlemaps/google-maps-services-java/commit/96a6a561cbae878404fac4c4b6e3413134632c34) -- Add user_ratings_total response field to PlaceSearchResult class [`a8762d8`](https://github.com/googlemaps/google-maps-services-java/commit/a8762d8474fd516a08f84444a4a6ff5e19c2c1d3) -- OKHttp3 v4.0.1 -> v3.14.2 due to warnings [`d8f69b8`](https://github.com/googlemaps/google-maps-services-java/commit/d8f69b89c91dc498fabfaf259085dfae30d92437) +- add new textSearchQuery method with + test [`96a6a56`](https://github.com/googlemaps/google-maps-services-java/commit/96a6a561cbae878404fac4c4b6e3413134632c34) +- Add user_ratings_total response field to PlaceSearchResult + class [`a8762d8`](https://github.com/googlemaps/google-maps-services-java/commit/a8762d8474fd516a08f84444a4a6ff5e19c2c1d3) +- OKHttp3 v4.0.1 -> v3.14.2 due to + warnings [`d8f69b8`](https://github.com/googlemaps/google-maps-services-java/commit/d8f69b89c91dc498fabfaf259085dfae30d92437) ## [v0.9.3](https://github.com/googlemaps/google-maps-services-java/compare/v0.9.2...v0.9.3) - 2019-03-20 @@ -100,9 +138,12 @@ All notable changes to this project will be documented in this file. ### Commits -- Releasing version 0.9.3 [`bc26e75`](https://github.com/googlemaps/google-maps-services-java/commit/bc26e75c6232ca3d69f17c2a09e1543d9a23e538) -- Opening up v0.9.3 for development [`027b37d`](https://github.com/googlemaps/google-maps-services-java/commit/027b37d3fcbec30ea8995cf3f5f6704eb9bbb6e9) -- Linking to v0.9.2 javadoc [`c5bc2e7`](https://github.com/googlemaps/google-maps-services-java/commit/c5bc2e74aa49addd8ca47bfe5756b728da656df9) +- Releasing version + 0.9.3 [`bc26e75`](https://github.com/googlemaps/google-maps-services-java/commit/bc26e75c6232ca3d69f17c2a09e1543d9a23e538) +- Opening up v0.9.3 for + development [`027b37d`](https://github.com/googlemaps/google-maps-services-java/commit/027b37d3fcbec30ea8995cf3f5f6704eb9bbb6e9) +- Linking to v0.9.2 + javadoc [`c5bc2e7`](https://github.com/googlemaps/google-maps-services-java/commit/c5bc2e74aa49addd8ca47bfe5756b728da656df9) ## [v0.9.2](https://github.com/googlemaps/google-maps-services-java/compare/v0.9.1...v0.9.2) - 2019-02-28 @@ -111,32 +152,40 @@ All notable changes to this project will be documented in this file. - Reverting Gradle version. [`#550`](https://github.com/googlemaps/google-maps-services-java/pull/550) - ./gradlew depUp [`#549`](https://github.com/googlemaps/google-maps-services-java/pull/549) - Fixing Google Java Style [`#543`](https://github.com/googlemaps/google-maps-services-java/pull/543) -- adding a default no-arg constructor to EncodedPolyline [`#542`](https://github.com/googlemaps/google-maps-services-java/pull/542) +- adding a default no-arg constructor to + EncodedPolyline [`#542`](https://github.com/googlemaps/google-maps-services-java/pull/542) - TextSearch: add region parameter [`#538`](https://github.com/googlemaps/google-maps-services-java/pull/538) - Upgrade to commons-lang3 [`#537`](https://github.com/googlemaps/google-maps-services-java/pull/537) - ./gradlew depUp [`#536`](https://github.com/googlemaps/google-maps-services-java/pull/536) - ./gradlew googleJavaFormat [`#530`](https://github.com/googlemaps/google-maps-services-java/pull/530) - Added support to Place IDs [`#526`](https://github.com/googlemaps/google-maps-services-java/pull/526) - ./gradlew dependencyUpdates [`#529`](https://github.com/googlemaps/google-maps-services-java/pull/529) -- Looks like case of DateTimeFormat is locale dependant. [`#528`](https://github.com/googlemaps/google-maps-services-java/pull/528) +- Looks like case of DateTimeFormat is locale + dependant. [`#528`](https://github.com/googlemaps/google-maps-services-java/pull/528) - Formatting and making the tests pass [`#527`](https://github.com/googlemaps/google-maps-services-java/pull/527) -- Adds a method for setting the departure time as "now" [`#525`](https://github.com/googlemaps/google-maps-services-java/pull/525) +- Adds a method for setting the departure time as " + now" [`#525`](https://github.com/googlemaps/google-maps-services-java/pull/525) - Fix a small formatting mistake in the docs. [`#523`](https://github.com/googlemaps/google-maps-services-java/pull/523) - Update README.md [`#522`](https://github.com/googlemaps/google-maps-services-java/pull/522) ### Commits -- Clean up [`6097ff3`](https://github.com/googlemaps/google-maps-services-java/commit/6097ff3f08c9676f84157269a24e208c5d72c89d) -- Added a method to make waypoints from Place IDs [`d2d05a7`](https://github.com/googlemaps/google-maps-services-java/commit/d2d05a7cf124bec97e09a6cd0004d08f95004b25) -- updating google java format to 0.8-SNAPSHOT [`de357b7`](https://github.com/googlemaps/google-maps-services-java/commit/de357b77feaa536b287cfbe8a14b13d87825910d) +- Clean + up [`6097ff3`](https://github.com/googlemaps/google-maps-services-java/commit/6097ff3f08c9676f84157269a24e208c5d72c89d) +- Added a method to make waypoints from Place + IDs [`d2d05a7`](https://github.com/googlemaps/google-maps-services-java/commit/d2d05a7cf124bec97e09a6cd0004d08f95004b25) +- updating google java format to + 0.8-SNAPSHOT [`de357b7`](https://github.com/googlemaps/google-maps-services-java/commit/de357b77feaa536b287cfbe8a14b13d87825910d) ## [v0.9.1](https://github.com/googlemaps/google-maps-services-java/compare/v0.9.0...v0.9.1) - 2018-11-28 ### Merged -- Force Jacoco version 0.8.2 for OpenJDK 11 compatibility [`#517`](https://github.com/googlemaps/google-maps-services-java/pull/517) +- Force Jacoco version 0.8.2 for OpenJDK 11 + compatibility [`#517`](https://github.com/googlemaps/google-maps-services-java/pull/517) - Fix Google Error Prone warnings [`#513`](https://github.com/googlemaps/google-maps-services-java/pull/513) -- DirectionsLeg, TransitDetails: use ZonedDateTime instead of LocalDateTime [`#516`](https://github.com/googlemaps/google-maps-services-java/pull/516) +- DirectionsLeg, TransitDetails: use ZonedDateTime instead of + LocalDateTime [`#516`](https://github.com/googlemaps/google-maps-services-java/pull/516) - Versions update [`#515`](https://github.com/googlemaps/google-maps-services-java/pull/515) - Add StaticMapsRequest.path(EncodedPolyline) [`#511`](https://github.com/googlemaps/google-maps-services-java/pull/511) - Added Maps Static API in README.md [`#507`](https://github.com/googlemaps/google-maps-services-java/pull/507) @@ -144,39 +193,52 @@ All notable changes to this project will be documented in this file. ### Commits -- Add missing @Override annotations [`7c7a72c`](https://github.com/googlemaps/google-maps-services-java/commit/7c7a72c8f70e2967346eed971d9fd7bda237f1d4) -- Avoid implicit use of default charset [`88204f6`](https://github.com/googlemaps/google-maps-services-java/commit/88204f6406c355b6da2596b63efcf7bbd472391d) -- Updates and making tests pass [`c9f89bc`](https://github.com/googlemaps/google-maps-services-java/commit/c9f89bc525923b334f8a5a6eac428e7dce0775fc) +- Add missing @Override + annotations [`7c7a72c`](https://github.com/googlemaps/google-maps-services-java/commit/7c7a72c8f70e2967346eed971d9fd7bda237f1d4) +- Avoid implicit use of default + charset [`88204f6`](https://github.com/googlemaps/google-maps-services-java/commit/88204f6406c355b6da2596b63efcf7bbd472391d) +- Updates and making tests + pass [`c9f89bc`](https://github.com/googlemaps/google-maps-services-java/commit/c9f89bc525923b334f8a5a6eac428e7dce0775fc) ## [v0.9.0](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.11...v0.9.0) - 2018-09-24 ### Merged - Version 0.9 [`#503`](https://github.com/googlemaps/google-maps-services-java/pull/503) -- Java 1.8 is now the minimum supported version [`#502`](https://github.com/googlemaps/google-maps-services-java/pull/502) +- Java 1.8 is now the minimum supported + version [`#502`](https://github.com/googlemaps/google-maps-services-java/pull/502) - Dependencies update, reformat, and fixup [`#501`](https://github.com/googlemaps/google-maps-services-java/pull/501) - Migrate to java.time [`#421`](https://github.com/googlemaps/google-maps-services-java/pull/421) - SessionToken is now serializable [`#495`](https://github.com/googlemaps/google-maps-services-java/pull/495) ### Commits -- Java 1.8 is the new minimum [`ab013ba`](https://github.com/googlemaps/google-maps-services-java/commit/ab013bac3a4871329f77ca67a37a6d2ce3d2c0e6) -- Tidyup [`839fbd1`](https://github.com/googlemaps/google-maps-services-java/commit/839fbd1c8cfdac75ded5dca678f7ab452d4d5e9a) -- Opening up v0.2.12 development [`5809326`](https://github.com/googlemaps/google-maps-services-java/commit/5809326ee8da2dc60dce9a3116eea71cd59516cd) +- Java 1.8 is the new + minimum [`ab013ba`](https://github.com/googlemaps/google-maps-services-java/commit/ab013bac3a4871329f77ca67a37a6d2ce3d2c0e6) +- + +Tidyup [`839fbd1`](https://github.com/googlemaps/google-maps-services-java/commit/839fbd1c8cfdac75ded5dca678f7ab452d4d5e9a) + +- Opening up v0.2.12 + development [`5809326`](https://github.com/googlemaps/google-maps-services-java/commit/5809326ee8da2dc60dce9a3116eea71cd59516cd) ## [v0.2.11](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.10...v0.2.11) - 2018-08-31 ### Merged - Updated dependencies [`#494`](https://github.com/googlemaps/google-maps-services-java/pull/494) -- Enabling setting SessionToken for placeDetails [`#493`](https://github.com/googlemaps/google-maps-services-java/pull/493) +- Enabling setting SessionToken for + placeDetails [`#493`](https://github.com/googlemaps/google-maps-services-java/pull/493) - Opening up v0.2.11 for development [`#490`](https://github.com/googlemaps/google-maps-services-java/pull/490) ### Commits -- Release v0.2.11 [`a22237e`](https://github.com/googlemaps/google-maps-services-java/commit/a22237e9fb0c39d3b8e9e7f4c308788a4c8d776c) -- Update README.md [`4fb6af0`](https://github.com/googlemaps/google-maps-services-java/commit/4fb6af021a2019688ed057f1e87adafd36799354) -- Updating link to v0.2.10 Javadoc [`6894d11`](https://github.com/googlemaps/google-maps-services-java/commit/6894d11c2d9f8cb7c19d51b2b5b4925ac395bc2e) +- Release + v0.2.11 [`a22237e`](https://github.com/googlemaps/google-maps-services-java/commit/a22237e9fb0c39d3b8e9e7f4c308788a4c8d776c) +- Update + README.md [`4fb6af0`](https://github.com/googlemaps/google-maps-services-java/commit/4fb6af021a2019688ed057f1e87adafd36799354) +- Updating link to v0.2.10 + Javadoc [`6894d11`](https://github.com/googlemaps/google-maps-services-java/commit/6894d11c2d9f8cb7c19d51b2b5b4925ac395bc2e) ## [v0.2.10](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.9...v0.2.10) - 2018-08-15 @@ -186,7 +248,8 @@ All notable changes to this project will be documented in this file. - Updating dependencies [`#486`](https://github.com/googlemaps/google-maps-services-java/pull/486) - Cleaning up [`#485`](https://github.com/googlemaps/google-maps-services-java/pull/485) - ./gradlew googleJavaFormat [`#484`](https://github.com/googlemaps/google-maps-services-java/pull/484) -- Replace "baseUrlForTesting()" with usage-neutral "baseUrlOverride()" [`#471`](https://github.com/googlemaps/google-maps-services-java/pull/471) +- Replace "baseUrlForTesting()" with usage-neutral " + baseUrlOverride()" [`#471`](https://github.com/googlemaps/google-maps-services-java/pull/471) - Tidying up [`#483`](https://github.com/googlemaps/google-maps-services-java/pull/483) - Fix for #478 [`#482`](https://github.com/googlemaps/google-maps-services-java/pull/482) - PlaceDetails: add adr_address support [`#480`](https://github.com/googlemaps/google-maps-services-java/pull/480) @@ -194,43 +257,62 @@ All notable changes to this project will be documented in this file. - Remove Radar Search support [`#469`](https://github.com/googlemaps/google-maps-services-java/pull/469) - ./gradlew googleJavaFormat [`#476`](https://github.com/googlemaps/google-maps-services-java/pull/476) - Add non-stopover waypoint support [`#468`](https://github.com/googlemaps/google-maps-services-java/pull/468) -- Change *RequestHandler Builder signatures to do chainable calls [`#470`](https://github.com/googlemaps/google-maps-services-java/pull/470) -- Supply -html4 to javadoc with JDK 10 and later [`#472`](https://github.com/googlemaps/google-maps-services-java/pull/472) +- Change *RequestHandler Builder signatures to do chainable + calls [`#470`](https://github.com/googlemaps/google-maps-services-java/pull/470) +- Supply -html4 to javadoc with JDK 10 and + later [`#472`](https://github.com/googlemaps/google-maps-services-java/pull/472) - Update gradle dependency keywords [`#474`](https://github.com/googlemaps/google-maps-services-java/pull/474) - Fix an NPE in DirectionsStep.toString() [`#475`](https://github.com/googlemaps/google-maps-services-java/pull/475) -- Opening up v0.2.10 for development [`#466`](https://github.com/googlemaps/google-maps-services-java/pull/466) +- Opening up v0.2.10 for development [`#466`](https://github.com/googlemaps/google-maps-services-java/pull/466) ### Commits -- Remove support for Radar Search, which is now past EOL as of June 30, 2018 [`e814a89`](https://github.com/googlemaps/google-maps-services-java/commit/e814a89befde30059c1b7b058ba3bc7ff2771b1f) -- Add non-stopover Waypoint support. [`e42752f`](https://github.com/googlemaps/google-maps-services-java/commit/e42752f7af776ae33b74640975535d7abce52850) -- Add regression test for DirectionsResult.toString() [`7c60f67`](https://github.com/googlemaps/google-maps-services-java/commit/7c60f67445f8465575945525e89dc124a0743119) +- Remove support for Radar Search, which is now past EOL as of June 30, + 2018 [`e814a89`](https://github.com/googlemaps/google-maps-services-java/commit/e814a89befde30059c1b7b058ba3bc7ff2771b1f) +- Add non-stopover Waypoint + support. [`e42752f`](https://github.com/googlemaps/google-maps-services-java/commit/e42752f7af776ae33b74640975535d7abce52850) +- Add regression test for + DirectionsResult.toString() [`7c60f67`](https://github.com/googlemaps/google-maps-services-java/commit/7c60f67445f8465575945525e89dc124a0743119) ## [v0.2.9](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.8...v0.2.9) - 2018-07-06 ### Merged - Releasing v0.2.9 [`#465`](https://github.com/googlemaps/google-maps-services-java/pull/465) -- Add okHttpClientBuilder() for customizing the OkHttpClient [`#464`](https://github.com/googlemaps/google-maps-services-java/pull/464) -- Add "continent" AddressType and AddressComponentType [`#463`](https://github.com/googlemaps/google-maps-services-java/pull/463) -- Add value-based toString()s for model objects [`#452`](https://github.com/googlemaps/google-maps-services-java/pull/452) -- Add Plus Code support to GeocodingResult and PlaceDetails [`#459`](https://github.com/googlemaps/google-maps-services-java/pull/459) +- Add okHttpClientBuilder() for customizing the + OkHttpClient [`#464`](https://github.com/googlemaps/google-maps-services-java/pull/464) +- Add "continent" AddressType and + AddressComponentType [`#463`](https://github.com/googlemaps/google-maps-services-java/pull/463) +- Add value-based toString()s for model + objects [`#452`](https://github.com/googlemaps/google-maps-services-java/pull/452) +- Add Plus Code support to GeocodingResult and + PlaceDetails [`#459`](https://github.com/googlemaps/google-maps-services-java/pull/459) - Tidying up tests [`#461`](https://github.com/googlemaps/google-maps-services-java/pull/461) - Reverting SLF4J version bump. [`#460`](https://github.com/googlemaps/google-maps-services-java/pull/460) - Add note on GeoApiContext reuse in Javadoc [`#456`](https://github.com/googlemaps/google-maps-services-java/pull/456) -- Have OkHttpRequestHandler evict connectionPool on shutdown [`#455`](https://github.com/googlemaps/google-maps-services-java/pull/455) -- Deprecate NearbySearchRequest.type(PlaceType...) [`#454`](https://github.com/googlemaps/google-maps-services-java/pull/454) -- PlaceDetails: make types an AddressType[] instead of String[] [`#453`](https://github.com/googlemaps/google-maps-services-java/pull/453) -- Adjust link in README so Markdown inspectors do not complain [`#451`](https://github.com/googlemaps/google-maps-services-java/pull/451) -- Improve EnumsTest unit test for AddressType and AddressComponentType [`#444`](https://github.com/googlemaps/google-maps-services-java/pull/444) -- Bringing dependencies up to date. [`#449`](https://github.com/googlemaps/google-maps-services-java/pull/449) +- Have OkHttpRequestHandler evict connectionPool on + shutdown [`#455`](https://github.com/googlemaps/google-maps-services-java/pull/455) +- Deprecate NearbySearchRequest.type( + PlaceType...) [`#454`](https://github.com/googlemaps/google-maps-services-java/pull/454) +- PlaceDetails: make types an AddressType[] instead of + String[] [`#453`](https://github.com/googlemaps/google-maps-services-java/pull/453) +- Adjust link in README so Markdown inspectors do not + complain [`#451`](https://github.com/googlemaps/google-maps-services-java/pull/451) +- Improve EnumsTest unit test for AddressType and + AddressComponentType [`#444`](https://github.com/googlemaps/google-maps-services-java/pull/444) +- Bringing dependencies up to date. [`#449`](https://github.com/googlemaps/google-maps-services-java/pull/449) - ./gradlew googleJavaFormat [`#448`](https://github.com/googlemaps/google-maps-services-java/pull/448) -- Replace bogus @url Javadoc tag with HTML link [`#447`](https://github.com/googlemaps/google-maps-services-java/pull/447) +- Replace bogus @url Javadoc tag with HTML + link [`#447`](https://github.com/googlemaps/google-maps-services-java/pull/447) - Minor code hygiene suggestions [`#446`](https://github.com/googlemaps/google-maps-services-java/pull/446) -- Add Javadoc for DirectionsApiRequest static methods [`#443`](https://github.com/googlemaps/google-maps-services-java/pull/443) -- LocalTestServerContext: use "expected[s]" as assertion parameter name [`#445`](https://github.com/googlemaps/google-maps-services-java/pull/445) -- Add more AddressTypes and AddressComponentTypes [`#437`](https://github.com/googlemaps/google-maps-services-java/pull/437) -- New AddressComponentTypes: general_contractor, food, store, etc... [`#436`](https://github.com/googlemaps/google-maps-services-java/pull/436) +- Add Javadoc for DirectionsApiRequest static + methods [`#443`](https://github.com/googlemaps/google-maps-services-java/pull/443) +- LocalTestServerContext: use "expected[s]" as assertion parameter + name [`#445`](https://github.com/googlemaps/google-maps-services-java/pull/445) +- Add more AddressTypes and + AddressComponentTypes [`#437`](https://github.com/googlemaps/google-maps-services-java/pull/437) +- New AddressComponentTypes: general_contractor, food, store, + etc... [`#436`](https://github.com/googlemaps/google-maps-services-java/pull/436) - Add missing fields to PlaceDetails.Review. [`#432`](https://github.com/googlemaps/google-maps-services-java/pull/432) ### Fixed @@ -239,24 +321,32 @@ All notable changes to this project will be documented in this file. ### Commits -- Merge upstream master [`eb72951`](https://github.com/googlemaps/google-maps-services-java/commit/eb72951102dc178ede794048459f17834219e71e) -- EnumsTest: improve source code and results readability [`9cb1014`](https://github.com/googlemaps/google-maps-services-java/commit/9cb1014c0b706a60a6f94458176774a189fb53c0) -- EnumsTest: add missing entries for AddressType [`d32d598`](https://github.com/googlemaps/google-maps-services-java/commit/d32d598146cec3034e59966febb40f3dad0d6da9) +- Merge upstream + master [`eb72951`](https://github.com/googlemaps/google-maps-services-java/commit/eb72951102dc178ede794048459f17834219e71e) +- EnumsTest: improve source code and results + readability [`9cb1014`](https://github.com/googlemaps/google-maps-services-java/commit/9cb1014c0b706a60a6f94458176774a189fb53c0) +- EnumsTest: add missing entries for + AddressType [`d32d598`](https://github.com/googlemaps/google-maps-services-java/commit/d32d598146cec3034e59966febb40f3dad0d6da9) ## [v0.2.8](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.7...v0.2.8) - 2018-06-25 ### Merged -- Find place from text, and place details field masks. [`#424`](https://github.com/googlemaps/google-maps-services-java/pull/424) +- Find place from text, and place details field + masks. [`#424`](https://github.com/googlemaps/google-maps-services-java/pull/424) - Add new types to AddressType enum. [`#428`](https://github.com/googlemaps/google-maps-services-java/pull/428) - ./gradlew googleJavaFormat [`#423`](https://github.com/googlemaps/google-maps-services-java/pull/423) -- Add support for scale parameter on custom icons to be able to use hi-DPI icons when map scale > 1 [`#419`](https://github.com/googlemaps/google-maps-services-java/pull/419) +- Add support for scale parameter on custom icons to be able to use hi-DPI icons when map scale > + 1 [`#419`](https://github.com/googlemaps/google-maps-services-java/pull/419) ### Commits -- Find place by text, and place details field masks. [`acf74b4`](https://github.com/googlemaps/google-maps-services-java/commit/acf74b404ed81dd993dff1ef5b80be1673d86519) -- Adding LocationBias parameter [`bca82fe`](https://github.com/googlemaps/google-maps-services-java/commit/bca82fe5a8eb544fef629b680df6df1d526c1af8) -- Field masks differ between place details and find place from text. [`3620c27`](https://github.com/googlemaps/google-maps-services-java/commit/3620c27f7c5b9a829106c585abda79c652632aa2) +- Find place by text, and place details field + masks. [`acf74b4`](https://github.com/googlemaps/google-maps-services-java/commit/acf74b404ed81dd993dff1ef5b80be1673d86519) +- Adding LocationBias + parameter [`bca82fe`](https://github.com/googlemaps/google-maps-services-java/commit/bca82fe5a8eb544fef629b680df6df1d526c1af8) +- Field masks differ between place details and find place from + text. [`3620c27`](https://github.com/googlemaps/google-maps-services-java/commit/3620c27f7c5b9a829106c585abda79c652632aa2) ## [v0.2.7](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.6...v0.2.7) - 2018-04-10 @@ -273,9 +363,12 @@ All notable changes to this project will be documented in this file. ### Commits -- Filling in StaticMapRequest, along with an additional AddressType [`2486d00`](https://github.com/googlemaps/google-maps-services-java/commit/2486d003a18a183595d3c6ceb2e509c53a4899d4) -- Initial Static Maps implementation [`593b194`](https://github.com/googlemaps/google-maps-services-java/commit/593b1943151441fa070339e94527eb6e4d3c667c) -- Adding tests [`98ad5b3`](https://github.com/googlemaps/google-maps-services-java/commit/98ad5b3003a0b8bf9dfd966903a8015cfa266974) +- Filling in StaticMapRequest, along with an additional + AddressType [`2486d00`](https://github.com/googlemaps/google-maps-services-java/commit/2486d003a18a183595d3c6ceb2e509c53a4899d4) +- Initial Static Maps + implementation [`593b194`](https://github.com/googlemaps/google-maps-services-java/commit/593b1943151441fa070339e94527eb6e4d3c667c) +- Adding + tests [`98ad5b3`](https://github.com/googlemaps/google-maps-services-java/commit/98ad5b3003a0b8bf9dfd966903a8015cfa266974) ## [v0.2.6](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.5...v0.2.6) - 2018-01-09 @@ -284,44 +377,58 @@ All notable changes to this project will be documented in this file. - Releasing version 0.2.6 [`#402`](https://github.com/googlemaps/google-maps-services-java/pull/402) - Increase default QPS from 10 to 50 [`#401`](https://github.com/googlemaps/google-maps-services-java/pull/401) - Set ComponentFilter's Constructor Public [`#397`](https://github.com/googlemaps/google-maps-services-java/pull/397) -- Revert "Revert "Made the constructor public"" [`#395`](https://github.com/googlemaps/google-maps-services-java/pull/395) +- Revert "Revert "Made the constructor + public"" [`#395`](https://github.com/googlemaps/google-maps-services-java/pull/395) - Revert "Made the constructor public" [`#394`](https://github.com/googlemaps/google-maps-services-java/pull/394) - Made the constructor public [`#393`](https://github.com/googlemaps/google-maps-services-java/pull/393) -- Add java.io.Serializable for inner classes, as it was only added in t… [`#389`](https://github.com/googlemaps/google-maps-services-java/pull/389) +- Add java.io.Serializable for inner classes, as it was only added in + t… [`#389`](https://github.com/googlemaps/google-maps-services-java/pull/389) ### Commits -- Add java.io.Serializable for inner classes, as it was only added in top-level ones. [`887f288`](https://github.com/googlemaps/google-maps-services-java/commit/887f2888b0d0c7e82436e4afcf79f5bcbbc85e5c) -- Made ComponentFilter's Class Constructor Public [`eac7f77`](https://github.com/googlemaps/google-maps-services-java/commit/eac7f77100f3d46d83637bdc7a23720a1fa99b67) -- Made ComponentFilter's Construtor Private [`ca28a78`](https://github.com/googlemaps/google-maps-services-java/commit/ca28a78dd76406bf957a33d5535a9883f7aba900) +- Add java.io.Serializable for inner classes, as it was only added in top-level + ones. [`887f288`](https://github.com/googlemaps/google-maps-services-java/commit/887f2888b0d0c7e82436e4afcf79f5bcbbc85e5c) +- Made ComponentFilter's Class Constructor + Public [`eac7f77`](https://github.com/googlemaps/google-maps-services-java/commit/eac7f77100f3d46d83637bdc7a23720a1fa99b67) +- Made ComponentFilter's Construtor + Private [`ca28a78`](https://github.com/googlemaps/google-maps-services-java/commit/ca28a78dd76406bf957a33d5535a9883f7aba900) ## [v0.2.5](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.4...v0.2.5) - 2017-11-15 ### Merged - Version 0.2.5 release [`#387`](https://github.com/googlemaps/google-maps-services-java/pull/387) -- ./gradlew googleJavaFormat [`#386`](https://github.com/googlemaps/google-maps-services-java/pull/386) +- ./gradlew googleJavaFormat [`#386`](https://github.com/googlemaps/google-maps-services-java/pull/386) - Adding strictbounds to Places Autocomplete [`#385`](https://github.com/googlemaps/google-maps-services-java/pull/385) - AddressType: add night_club [`#384`](https://github.com/googlemaps/google-maps-services-java/pull/384) - AddressType: add travel_agency [`#382`](https://github.com/googlemaps/google-maps-services-java/pull/382) - AddressType: add shoe_store [`#381`](https://github.com/googlemaps/google-maps-services-java/pull/381) -- AddressType: add more types observed by steveetl [`#380`](https://github.com/googlemaps/google-maps-services-java/pull/380) -- added java.io.Serializable to the response model #366 [`#367`](https://github.com/googlemaps/google-maps-services-java/pull/367) +- AddressType: add more types observed by + steveetl [`#380`](https://github.com/googlemaps/google-maps-services-java/pull/380) +- added java.io.Serializable to the response model + #366 [`#367`](https://github.com/googlemaps/google-maps-services-java/pull/367) - AddressType: add beauty care types [`#378`](https://github.com/googlemaps/google-maps-services-java/pull/378) - AddressType: add STADIUM [`#379`](https://github.com/googlemaps/google-maps-services-java/pull/379) - AddressType: add CASINO and PARKING [`#377`](https://github.com/googlemaps/google-maps-services-java/pull/377) - Opening up v0.2.5 development [`#373`](https://github.com/googlemaps/google-maps-services-java/pull/373) - Update Javadoc link for v0.2.4 [`#374`](https://github.com/googlemaps/google-maps-services-java/pull/374) -- Suppress unchecked warning in GeoApiContextTest [`#372`](https://github.com/googlemaps/google-maps-services-java/pull/372) -- Adding required import, and googleJavaFormat [`#370`](https://github.com/googlemaps/google-maps-services-java/pull/370) -- ResponseBody in OkHttpPendingResult was not being closed. [`#368`](https://github.com/googlemaps/google-maps-services-java/pull/368) -- added a shutdown method to GeoApiContext which stops RateLimitExecutorDelayThread #261 [`#365`](https://github.com/googlemaps/google-maps-services-java/pull/365) +- Suppress unchecked warning in + GeoApiContextTest [`#372`](https://github.com/googlemaps/google-maps-services-java/pull/372) +- Adding required import, and + googleJavaFormat [`#370`](https://github.com/googlemaps/google-maps-services-java/pull/370) +- ResponseBody in OkHttpPendingResult was not being + closed. [`#368`](https://github.com/googlemaps/google-maps-services-java/pull/368) +- added a shutdown method to GeoApiContext which stops RateLimitExecutorDelayThread + #261 [`#365`](https://github.com/googlemaps/google-maps-services-java/pull/365) ### Commits -- added java.io.Serializable to the response model [`7bce9dd`](https://github.com/googlemaps/google-maps-services-java/commit/7bce9dd3c129d48e21572f41de157abf407ae171) -- remove comment on serialVersionUID [`8157552`](https://github.com/googlemaps/google-maps-services-java/commit/815755229ba54053f425a335abdb436307b1324f) -- ./gradlew googleJavaFormat [`d36f5ff`](https://github.com/googlemaps/google-maps-services-java/commit/d36f5ff5e94ea33e343848a8bc6fcd1c73cdcbb5) +- added java.io.Serializable to the response + model [`7bce9dd`](https://github.com/googlemaps/google-maps-services-java/commit/7bce9dd3c129d48e21572f41de157abf407ae171) +- remove comment on + serialVersionUID [`8157552`](https://github.com/googlemaps/google-maps-services-java/commit/815755229ba54053f425a335abdb436307b1324f) +- ./gradlew + googleJavaFormat [`d36f5ff`](https://github.com/googlemaps/google-maps-services-java/commit/d36f5ff5e94ea33e343848a8bc6fcd1c73cdcbb5) ## [v0.2.4](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.3...v0.2.4) - 2017-10-06 @@ -331,14 +438,19 @@ All notable changes to this project will be documented in this file. - Tidyup warnings [`#357`](https://github.com/googlemaps/google-maps-services-java/pull/357) - Upgrade Gradle [`#356`](https://github.com/googlemaps/google-maps-services-java/pull/356) - ./gradlew googleJavaFormat [`#354`](https://github.com/googlemaps/google-maps-services-java/pull/354) -- Replace Guava dep with local RateLimiter implementation copy-paste [`#351`](https://github.com/googlemaps/google-maps-services-java/pull/351) -- .gitignore: add /out/ to support IntelliJ IDEA [`#352`](https://github.com/googlemaps/google-maps-services-java/pull/352) +- Replace Guava dep with local RateLimiter implementation + copy-paste [`#351`](https://github.com/googlemaps/google-maps-services-java/pull/351) +- .gitignore: add /out/ to support IntelliJ + IDEA [`#352`](https://github.com/googlemaps/google-maps-services-java/pull/352) ### Commits -- Copy Guava's RateLimiter implementation locally and remove Guava dependency [`9622a59`](https://github.com/googlemaps/google-maps-services-java/commit/9622a59b0c919fa6334d0966952760d16ada532f) -- Opening up v0.2.4 development [`7785c57`](https://github.com/googlemaps/google-maps-services-java/commit/7785c57c1563d14ff6afb555a0efaed8173785ec) -- Updating Javadoc link for v0.2.3 [`8ca6e15`](https://github.com/googlemaps/google-maps-services-java/commit/8ca6e1550537f85f574ce7eaff7dcb635b685939) +- Copy Guava's RateLimiter implementation locally and remove Guava + dependency [`9622a59`](https://github.com/googlemaps/google-maps-services-java/commit/9622a59b0c919fa6334d0966952760d16ada532f) +- Opening up v0.2.4 + development [`7785c57`](https://github.com/googlemaps/google-maps-services-java/commit/7785c57c1563d14ff6afb555a0efaed8173785ec) +- Updating Javadoc link for + v0.2.3 [`8ca6e15`](https://github.com/googlemaps/google-maps-services-java/commit/8ca6e1550537f85f574ce7eaff7dcb635b685939) ## [v0.2.3](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.2...v0.2.3) - 2017-09-13 @@ -347,66 +459,94 @@ All notable changes to this project will be documented in this file. - Releasing version 0.2.3 [`#346`](https://github.com/googlemaps/google-maps-services-java/pull/346) - Cleaning up README.md's markdown [`#345`](https://github.com/googlemaps/google-maps-services-java/pull/345) - ./gradlew googleJavaFormat [`#343`](https://github.com/googlemaps/google-maps-services-java/pull/343) -- adding proxy authentication in GeoApiContext [`#337`](https://github.com/googlemaps/google-maps-services-java/pull/337) +- adding proxy authentication in + GeoApiContext [`#337`](https://github.com/googlemaps/google-maps-services-java/pull/337) - Add note about paging delay [`#339`](https://github.com/googlemaps/google-maps-services-java/pull/339) - Documenting GAE usage [`#335`](https://github.com/googlemaps/google-maps-services-java/pull/335) - Opening up development on v0.2.3 [`#333`](https://github.com/googlemaps/google-maps-services-java/pull/333) ### Commits -- adding proxy authentication in GeoApiContext - googleJavaFormat [`bd5303d`](https://github.com/googlemaps/google-maps-services-java/commit/bd5303d9f8ee1d6694030848bbd45aba77b89e00) -- Documenting new GAE usage [`ddb5363`](https://github.com/googlemaps/google-maps-services-java/commit/ddb536333c515b6d9b909e60e1334587560c5cf6) -- Javadoc for v0.2.2 [`69fd291`](https://github.com/googlemaps/google-maps-services-java/commit/69fd2913acaec29ab8039c97e569777a8828ff6c) +- adding proxy authentication in GeoApiContext - + googleJavaFormat [`bd5303d`](https://github.com/googlemaps/google-maps-services-java/commit/bd5303d9f8ee1d6694030848bbd45aba77b89e00) +- Documenting new GAE + usage [`ddb5363`](https://github.com/googlemaps/google-maps-services-java/commit/ddb536333c515b6d9b909e60e1334587560c5cf6) +- Javadoc for + v0.2.2 [`69fd291`](https://github.com/googlemaps/google-maps-services-java/commit/69fd2913acaec29ab8039c97e569777a8828ff6c) ## [v0.2.2](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.1...v0.2.2) - 2017-08-15 ### Merged - Releasing v0.2.2 [`#332`](https://github.com/googlemaps/google-maps-services-java/pull/332) -- Adding handling for AutocompletePrediction's structured formatting. [`#330`](https://github.com/googlemaps/google-maps-services-java/pull/330) -- guava v22 and v23 reintroduced java 7 support [`#331`](https://github.com/googlemaps/google-maps-services-java/pull/331) +- Adding handling for AutocompletePrediction's structured + formatting. [`#330`](https://github.com/googlemaps/google-maps-services-java/pull/330) +- guava v22 and v23 reintroduced java 7 + support [`#331`](https://github.com/googlemaps/google-maps-services-java/pull/331) - LatLng serialisation constructor. [`#328`](https://github.com/googlemaps/google-maps-services-java/pull/328) - ./gradlew googleJavaFormat [`#327`](https://github.com/googlemaps/google-maps-services-java/pull/327) -- Javadoc: Rephrase to match Google Java Style Guide (classes P) [`#321`](https://github.com/googlemaps/google-maps-services-java/pull/321) -- Javadoc: Rephrase to match Google Java Style Guide (classes G) [`#319`](https://github.com/googlemaps/google-maps-services-java/pull/319) -- Javadoc: Rephrase to match Google Java Style Guide (classes Q-S) [`#322`](https://github.com/googlemaps/google-maps-services-java/pull/322) -- Javadoc: Rephrase to match Google Java Style Guide (classes T) [`#323`](https://github.com/googlemaps/google-maps-services-java/pull/323) -- Javadoc: Rephrase to match Google Java Style Guide (classes U-Z) [`#324`](https://github.com/googlemaps/google-maps-services-java/pull/324) -- Javadoc: Rephrase to match Google Java Style Guide (classes H-O) [`#320`](https://github.com/googlemaps/google-maps-services-java/pull/320) -- Javadoc: Use "latitude/longitude" instead of "latitude,longitude" everywhere [`#325`](https://github.com/googlemaps/google-maps-services-java/pull/325) +- Javadoc: Rephrase to match Google Java Style Guide (classes + P) [`#321`](https://github.com/googlemaps/google-maps-services-java/pull/321) +- Javadoc: Rephrase to match Google Java Style Guide (classes + G) [`#319`](https://github.com/googlemaps/google-maps-services-java/pull/319) +- Javadoc: Rephrase to match Google Java Style Guide (classes + Q-S) [`#322`](https://github.com/googlemaps/google-maps-services-java/pull/322) +- Javadoc: Rephrase to match Google Java Style Guide (classes + T) [`#323`](https://github.com/googlemaps/google-maps-services-java/pull/323) +- Javadoc: Rephrase to match Google Java Style Guide (classes + U-Z) [`#324`](https://github.com/googlemaps/google-maps-services-java/pull/324) +- Javadoc: Rephrase to match Google Java Style Guide (classes + H-O) [`#320`](https://github.com/googlemaps/google-maps-services-java/pull/320) +- Javadoc: Use "latitude/longitude" instead of "latitude,longitude" + everywhere [`#325`](https://github.com/googlemaps/google-maps-services-java/pull/325) - Use Oxford commas in Javadoc [`#317`](https://github.com/googlemaps/google-maps-services-java/pull/317) -- Javadoc: Rephrase to match Google Java Style Guide (classes D-F) [`#318`](https://github.com/googlemaps/google-maps-services-java/pull/318) +- Javadoc: Rephrase to match Google Java Style Guide (classes + D-F) [`#318`](https://github.com/googlemaps/google-maps-services-java/pull/318) - Dropping truncated JavaDoc [`#316`](https://github.com/googlemaps/google-maps-services-java/pull/316) -- Javadoc: Rephrase to match Google Java Style Guide (classes A-C) [`#315`](https://github.com/googlemaps/google-maps-services-java/pull/315) +- Javadoc: Rephrase to match Google Java Style Guide (classes + A-C) [`#315`](https://github.com/googlemaps/google-maps-services-java/pull/315) - Javadoc: Update links and fix typos [`#314`](https://github.com/googlemaps/google-maps-services-java/pull/314) -- README: Point "javadoc" link at the new v0.2.1 javadocs [`#311`](https://github.com/googlemaps/google-maps-services-java/pull/311) +- README: Point "javadoc" link at the new v0.2.1 + javadocs [`#311`](https://github.com/googlemaps/google-maps-services-java/pull/311) - Update build.gradle - Changed guava to v20 [`#308`](https://github.com/googlemaps/google-maps-services-java/pull/308) ### Commits -- Cleaning up Javadoc, and fixing class name typo. (Whups) [`7459bd2`](https://github.com/googlemaps/google-maps-services-java/commit/7459bd26441a60e3943f8e7ae8ddd74241afda5c) -- Use Oxford commas everywhere in Javadoc [`f12ce8a`](https://github.com/googlemaps/google-maps-services-java/commit/f12ce8a4057bcef0e8beb2653ccae712caa05277) -- Adding in unicode characters for MatchedSubstring offset and length. [`432c133`](https://github.com/googlemaps/google-maps-services-java/commit/432c1332c86a6f5a26a96686417e24c4be205032) +- Cleaning up Javadoc, and fixing class name typo. ( + Whups) [`7459bd2`](https://github.com/googlemaps/google-maps-services-java/commit/7459bd26441a60e3943f8e7ae8ddd74241afda5c) +- Use Oxford commas everywhere in + Javadoc [`f12ce8a`](https://github.com/googlemaps/google-maps-services-java/commit/f12ce8a4057bcef0e8beb2653ccae712caa05277) +- Adding in unicode characters for MatchedSubstring offset and + length. [`432c133`](https://github.com/googlemaps/google-maps-services-java/commit/432c1332c86a6f5a26a96686417e24c4be205032) ## [v0.2.1](https://github.com/googlemaps/google-maps-services-java/compare/v0.2.0...v0.2.1) - 2017-08-02 ### Merged - ./gradlew googleJavaFormat [`#305`](https://github.com/googlemaps/google-maps-services-java/pull/305) -- Update GeoApiContext.java - Exception using GAE [`#304`](https://github.com/googlemaps/google-maps-services-java/pull/304) -- Upgrade mockwebserver to 3.8.1 from OkHttp distribution [`#301`](https://github.com/googlemaps/google-maps-services-java/pull/301) -- Suppress deprecation warnings for radarSearchQuery [`#302`](https://github.com/googlemaps/google-maps-services-java/pull/302) -- README: Make central repo links do searches for this lib [`#300`](https://github.com/googlemaps/google-maps-services-java/pull/300) +- Update GeoApiContext.java - Exception using + GAE [`#304`](https://github.com/googlemaps/google-maps-services-java/pull/304) +- Upgrade mockwebserver to 3.8.1 from OkHttp + distribution [`#301`](https://github.com/googlemaps/google-maps-services-java/pull/301) +- Suppress deprecation warnings for + radarSearchQuery [`#302`](https://github.com/googlemaps/google-maps-services-java/pull/302) +- README: Make central repo links do searches for this + lib [`#300`](https://github.com/googlemaps/google-maps-services-java/pull/300) - Add .nb-gradle files to .gitignore [`#299`](https://github.com/googlemaps/google-maps-services-java/pull/299) - Spell 'adapter' consistently [`#298`](https://github.com/googlemaps/google-maps-services-java/pull/298) -- Update documentation publishing instructions [`#296`](https://github.com/googlemaps/google-maps-services-java/pull/296) -- GeocodingApiTest: fix missing quote in javadoc [`#294`](https://github.com/googlemaps/google-maps-services-java/pull/294) +- Update documentation publishing + instructions [`#296`](https://github.com/googlemaps/google-maps-services-java/pull/296) +- GeocodingApiTest: fix missing quote in + javadoc [`#294`](https://github.com/googlemaps/google-maps-services-java/pull/294) ### Commits -- Upgrade mockwebserver to 3.8.1 [`7d2282b`](https://github.com/googlemaps/google-maps-services-java/commit/7d2282be775badcabf6bd4af045ac9a6e090cfea) -- spell 'adapter' consistently [`5069f8a`](https://github.com/googlemaps/google-maps-services-java/commit/5069f8a8cba3f268731fd6e40bfd74c1f2abda03) -- README: Make central repo links do searches for this lib instead of going to main home page. [`d2e3245`](https://github.com/googlemaps/google-maps-services-java/commit/d2e3245992bde7b41b35a42977bb1270aa9fa76e) +- Upgrade mockwebserver to + 3.8.1 [`7d2282b`](https://github.com/googlemaps/google-maps-services-java/commit/7d2282be775badcabf6bd4af045ac9a6e090cfea) +- spell 'adapter' + consistently [`5069f8a`](https://github.com/googlemaps/google-maps-services-java/commit/5069f8a8cba3f268731fd6e40bfd74c1f2abda03) +- README: Make central repo links do searches for this lib instead of going to main home + page. [`d2e3245`](https://github.com/googlemaps/google-maps-services-java/commit/d2e3245992bde7b41b35a42977bb1270aa9fa76e) ## [v0.2.0](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.22...v0.2.0) - 2017-07-25 @@ -416,25 +556,33 @@ All notable changes to this project will be documented in this file. ### Commits -- Releasing Version 0.2.0 [`af0ca26`](https://github.com/googlemaps/google-maps-services-java/commit/af0ca2621ff8157a2be9f63988aa102f9613d6cd) -- Re-opening v0.2 in preparation for landing OkHttp3. [`b1e495e`](https://github.com/googlemaps/google-maps-services-java/commit/b1e495e376126138814da82fa771ea5b602cf981) +- Releasing Version + 0.2.0 [`af0ca26`](https://github.com/googlemaps/google-maps-services-java/commit/af0ca2621ff8157a2be9f63988aa102f9613d6cd) +- Re-opening v0.2 in preparation for landing + OkHttp3. [`b1e495e`](https://github.com/googlemaps/google-maps-services-java/commit/b1e495e376126138814da82fa771ea5b602cf981) ## [v0.1.22](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.21...v0.1.22) - 2017-07-24 ### Merged -- Applying `google-java-format` to the codebase. [`#291`](https://github.com/googlemaps/google-maps-services-java/pull/291) -- Fix issue where Runnable runs on the incorrect thread [`#290`](https://github.com/googlemaps/google-maps-services-java/pull/290) +- Applying `google-java-format` to the + codebase. [`#291`](https://github.com/googlemaps/google-maps-services-java/pull/291) +- Fix issue where Runnable runs on the incorrect + thread [`#290`](https://github.com/googlemaps/google-maps-services-java/pull/290) ### Fixed -- A quick respin to fix https://github.com/googlemaps/google-maps-services-java/issues/292 [`#292`](https://github.com/googlemaps/google-maps-services-java/issues/292) +- A quick respin to + fix https://github.com/googlemaps/google-maps-services-java/issues/292 [`#292`](https://github.com/googlemaps/google-maps-services-java/issues/292) ### Commits -- Reformat the static imports correctly [`94d8c8b`](https://github.com/googlemaps/google-maps-services-java/commit/94d8c8b1bf9a7963190ef90e8a80f2f338727f15) -- Making google-java-format easier to use. [`c9c006c`](https://github.com/googlemaps/google-maps-services-java/commit/c9c006cf226acb76ce75264a5b7701aebe9faa42) -- Runnable runs on the delegate ExecutorService [`eb81d7e`](https://github.com/googlemaps/google-maps-services-java/commit/eb81d7e318d41ee021f8addce7371904fd803dcd) +- Reformat the static imports + correctly [`94d8c8b`](https://github.com/googlemaps/google-maps-services-java/commit/94d8c8b1bf9a7963190ef90e8a80f2f338727f15) +- Making google-java-format easier to + use. [`c9c006c`](https://github.com/googlemaps/google-maps-services-java/commit/c9c006cf226acb76ce75264a5b7701aebe9faa42) +- Runnable runs on the delegate + ExecutorService [`eb81d7e`](https://github.com/googlemaps/google-maps-services-java/commit/eb81d7e318d41ee021f8addce7371904fd803dcd) ## [v0.1.21](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.20...v0.1.21) - 2017-07-03 @@ -442,49 +590,64 @@ All notable changes to this project will be documented in this file. - Marking Radar Search as deprecated [`#284`](https://github.com/googlemaps/google-maps-services-java/pull/284) - Converting tests to local server based. [`#282`](https://github.com/googlemaps/google-maps-services-java/pull/282) -- Converting Integration tests to Local Server tests [`#278`](https://github.com/googlemaps/google-maps-services-java/pull/278) +- Converting Integration tests to Local Server + tests [`#278`](https://github.com/googlemaps/google-maps-services-java/pull/278) - Fixing license declaration [`#277`](https://github.com/googlemaps/google-maps-services-java/pull/277) - Making PlaceDetailsRequest#Response public [`#276`](https://github.com/googlemaps/google-maps-services-java/pull/276) - Adding undocumented address types. [`#275`](https://github.com/googlemaps/google-maps-services-java/pull/275) - Testing Kita Ward. [`#274`](https://github.com/googlemaps/google-maps-services-java/pull/274) - Test fix [`#273`](https://github.com/googlemaps/google-maps-services-java/pull/273) -- Replacing hand rolled rate limiter with Gauva's Rate Limiter. [`#272`](https://github.com/googlemaps/google-maps-services-java/pull/272) -- Adding example configuration for SLF4J to the README [`#271`](https://github.com/googlemaps/google-maps-services-java/pull/271) +- Replacing hand rolled rate limiter with Gauva's Rate + Limiter. [`#272`](https://github.com/googlemaps/google-maps-services-java/pull/272) +- Adding example configuration for SLF4J to the + README [`#271`](https://github.com/googlemaps/google-maps-services-java/pull/271) - Making tests pass [`#269`](https://github.com/googlemaps/google-maps-services-java/pull/269) - Add light_rail_station enum type [`#268`](https://github.com/googlemaps/google-maps-services-java/pull/268) -- Fix for issues 218,170 - aded instance creator for EncodedPolyline to use with Gson [`#260`](https://github.com/googlemaps/google-maps-services-java/pull/260) +- Fix for issues 218,170 - aded instance creator for EncodedPolyline to use with + Gson [`#260`](https://github.com/googlemaps/google-maps-services-java/pull/260) ### Commits -- Converting Places API Integration tests to local server tests. [`72edd9c`](https://github.com/googlemaps/google-maps-services-java/commit/72edd9c12c6726ff755f9cd1c58cd7689dacc125) -- Moving large string blobs to resource files [`21d2be5`](https://github.com/googlemaps/google-maps-services-java/commit/21d2be5eb9bf8a40b60079708ef78310e694090a) -- Converted last API surfaces to localtests. [`9379324`](https://github.com/googlemaps/google-maps-services-java/commit/9379324ef7b95a38f089b63e26e901b5c70f9aaf) +- Converting Places API Integration tests to local server + tests. [`72edd9c`](https://github.com/googlemaps/google-maps-services-java/commit/72edd9c12c6726ff755f9cd1c58cd7689dacc125) +- Moving large string blobs to resource + files [`21d2be5`](https://github.com/googlemaps/google-maps-services-java/commit/21d2be5eb9bf8a40b60079708ef78310e694090a) +- Converted last API surfaces to + localtests. [`9379324`](https://github.com/googlemaps/google-maps-services-java/commit/9379324ef7b95a38f089b63e26e901b5c70f9aaf) ## [v0.1.20](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.19...v0.1.20) - 2017-04-13 ### Merged -- Solving performance problems in parallel processing [`#259`](https://github.com/googlemaps/google-maps-services-java/pull/259) +- Solving performance problems in parallel + processing [`#259`](https://github.com/googlemaps/google-maps-services-java/pull/259) - Fixing concurrency problem [`#255`](https://github.com/googlemaps/google-maps-services-java/pull/255) -- Fixing up ordering of signature calculation. [`#253`](https://github.com/googlemaps/google-maps-services-java/pull/253) +- Fixing up ordering of signature + calculation. [`#253`](https://github.com/googlemaps/google-maps-services-java/pull/253) ### Commits -- Created test for parallel signatures and cloned mac for each signature to avoid concurrency problems [`d9f55f9`](https://github.com/googlemaps/google-maps-services-java/commit/d9f55f91cac641407665a18f012ccb6a88db4445) -- Set maxQps on OKHttp dispatcher to not be limited to the default configuration [`fe422e9`](https://github.com/googlemaps/google-maps-services-java/commit/fe422e943eebc76e7592fa20e89b8f94f4d1fe48) -- Also catching exceptions during parallel signature to be more assertive [`4c41b2c`](https://github.com/googlemaps/google-maps-services-java/commit/4c41b2cbc8ab68d3e603d069a4e7ab5687496936) +- Created test for parallel signatures and cloned mac for each signature to avoid concurrency + problems [`d9f55f9`](https://github.com/googlemaps/google-maps-services-java/commit/d9f55f91cac641407665a18f012ccb6a88db4445) +- Set maxQps on OKHttp dispatcher to not be limited to the default + configuration [`fe422e9`](https://github.com/googlemaps/google-maps-services-java/commit/fe422e943eebc76e7592fa20e89b8f94f4d1fe48) +- Also catching exceptions during parallel signature to be more + assertive [`4c41b2c`](https://github.com/googlemaps/google-maps-services-java/commit/4c41b2cbc8ab68d3e603d069a4e7ab5687496936) ## [v0.1.19](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.18...v0.1.19) - 2017-03-28 ### Merged - Version 0.1.19 release [`#252`](https://github.com/googlemaps/google-maps-services-java/pull/252) -- Fix for https://github.com/googlemaps/google-maps-services-java/issues/248 [`#251`](https://github.com/googlemaps/google-maps-services-java/pull/251) +- Fix + for https://github.com/googlemaps/google-maps-services-java/issues/248 [`#251`](https://github.com/googlemaps/google-maps-services-java/pull/251) ### Commits -- Opening up development for v0.1.19 [`e2b474d`](https://github.com/googlemaps/google-maps-services-java/commit/e2b474d6a5191167251b83e77b1405651e775d23) -- Updating Javadoc link [`f9ade4e`](https://github.com/googlemaps/google-maps-services-java/commit/f9ade4ee593578c5d41903cf7c7a78f6f942e44f) +- Opening up development for + v0.1.19 [`e2b474d`](https://github.com/googlemaps/google-maps-services-java/commit/e2b474d6a5191167251b83e77b1405651e775d23) +- Updating Javadoc + link [`f9ade4e`](https://github.com/googlemaps/google-maps-services-java/commit/f9ade4ee593578c5d41903cf7c7a78f6f942e44f) ## [v0.1.18](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.17...v0.1.18) - 2017-03-24 @@ -493,27 +656,34 @@ All notable changes to this project will be documented in this file. - Creating version 0.1.18 [`#247`](https://github.com/googlemaps/google-maps-services-java/pull/247) - Updating gradle version [`#246`](https://github.com/googlemaps/google-maps-services-java/pull/246) - Updating versions and making tests pass [`#245`](https://github.com/googlemaps/google-maps-services-java/pull/245) -- Make PendingResult#await throw specific Exception [`#238`](https://github.com/googlemaps/google-maps-services-java/pull/238) -- Linkify travis badge and mavencentral badge in README [`#239`](https://github.com/googlemaps/google-maps-services-java/pull/239) +- Make PendingResult#await throw specific + Exception [`#238`](https://github.com/googlemaps/google-maps-services-java/pull/238) +- Linkify travis badge and mavencentral badge in + README [`#239`](https://github.com/googlemaps/google-maps-services-java/pull/239) - Update NearbySearchRequest.java [`#243`](https://github.com/googlemaps/google-maps-services-java/pull/243) - Update build.gradle to require 1.7 [`#236`](https://github.com/googlemaps/google-maps-services-java/pull/236) - Update TextSearchRequest.java [`#221`](https://github.com/googlemaps/google-maps-services-java/pull/221) - Fixing tests [`#223`](https://github.com/googlemaps/google-maps-services-java/pull/223) - Correct usage of GeoApiContext [`#222`](https://github.com/googlemaps/google-maps-services-java/pull/222) - Support `nearestRoads` API call [`#217`](https://github.com/googlemaps/google-maps-services-java/pull/217) -- Add support for address type 'postal_code_prefix'. [`#215`](https://github.com/googlemaps/google-maps-services-java/pull/215) +- Add support for address type ' + postal_code_prefix'. [`#215`](https://github.com/googlemaps/google-maps-services-java/pull/215) - Tidying up headers and imports [`#213`](https://github.com/googlemaps/google-maps-services-java/pull/213) - Save waypoints [`#204`](https://github.com/googlemaps/google-maps-services-java/pull/204) - Fixing up broken merge [`#212`](https://github.com/googlemaps/google-maps-services-java/pull/212) -- Change Java Util Logging to SLF4J and add SLF4J simple logger for tests [`#186`](https://github.com/googlemaps/google-maps-services-java/pull/186) +- Change Java Util Logging to SLF4J and add SLF4J simple logger for + tests [`#186`](https://github.com/googlemaps/google-maps-services-java/pull/186) - Update Javadoc reference [`#211`](https://github.com/googlemaps/google-maps-services-java/pull/211) - Open up Version 0.1.18 for development [`#210`](https://github.com/googlemaps/google-maps-services-java/pull/210) ### Commits -- Add waypoint optimization tests [`01f6a29`](https://github.com/googlemaps/google-maps-services-java/commit/01f6a29fa3250c22fdf93d77f9c5c75648387873) -- Remove unused ExceptionResult [`fa50c98`](https://github.com/googlemaps/google-maps-services-java/commit/fa50c988c614cf3540a1e79b74736ac3f35ce9f0) -- Support nearestRoads method from Roads API [`0829c7e`](https://github.com/googlemaps/google-maps-services-java/commit/0829c7e6cbd128faf2457b63bcef27730a76a9ff) +- Add waypoint optimization + tests [`01f6a29`](https://github.com/googlemaps/google-maps-services-java/commit/01f6a29fa3250c22fdf93d77f9c5c75648387873) +- Remove unused + ExceptionResult [`fa50c98`](https://github.com/googlemaps/google-maps-services-java/commit/fa50c988c614cf3540a1e79b74736ac3f35ce9f0) +- Support nearestRoads method from Roads + API [`0829c7e`](https://github.com/googlemaps/google-maps-services-java/commit/0829c7e6cbd128faf2457b63bcef27730a76a9ff) ## [v0.1.17](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.16...v0.1.17) - 2016-11-30 @@ -521,43 +691,61 @@ All notable changes to this project will be documented in this file. - Version 0.1.17 [`#209`](https://github.com/googlemaps/google-maps-services-java/pull/209) - Adding Custom Parameter handling [`#208`](https://github.com/googlemaps/google-maps-services-java/pull/208) -- Keep using ThreadPoolExecutor but increase number of threads [`#199`](https://github.com/googlemaps/google-maps-services-java/pull/199) -- Add waypoints method that takes in an array of LatLng [`#205`](https://github.com/googlemaps/google-maps-services-java/pull/205) +- Keep using ThreadPoolExecutor but increase number of + threads [`#199`](https://github.com/googlemaps/google-maps-services-java/pull/199) +- Add waypoints method that takes in an array of + LatLng [`#205`](https://github.com/googlemaps/google-maps-services-java/pull/205) - Add Light Rail Station to AddressType [`#197`](https://github.com/googlemaps/google-maps-services-java/pull/197) -- Update documentation links that were outdated. [`#194`](https://github.com/googlemaps/google-maps-services-java/pull/194) +- Update documentation links that were + outdated. [`#194`](https://github.com/googlemaps/google-maps-services-java/pull/194) - Add support for multiple type for PlacesApi [`#192`](https://github.com/googlemaps/google-maps-services-java/pull/192) -- Allow specific exception types to be retried or not retried [`#189`](https://github.com/googlemaps/google-maps-services-java/pull/189) +- Allow specific exception types to be retried or not + retried [`#189`](https://github.com/googlemaps/google-maps-services-java/pull/189) ### Commits -- Allow specific exception types to be retried or not retried. [`5f55a2b`](https://github.com/googlemaps/google-maps-services-java/commit/5f55a2b7b6a1b06390a779f56afe5a4d7546cfc4) -- Refactor reading test response file into a TestUtils. [`3f324a7`](https://github.com/googlemaps/google-maps-services-java/commit/3f324a744c65d27d7beee4e4ce6982611ec78342) -- Adding custom parameter pass through [`272734d`](https://github.com/googlemaps/google-maps-services-java/commit/272734d793df6708b1aafa7db4b0b5441f109efd) +- Allow specific exception types to be retried or not + retried. [`5f55a2b`](https://github.com/googlemaps/google-maps-services-java/commit/5f55a2b7b6a1b06390a779f56afe5a4d7546cfc4) +- Refactor reading test response file into a + TestUtils. [`3f324a7`](https://github.com/googlemaps/google-maps-services-java/commit/3f324a744c65d27d7beee4e4ce6982611ec78342) +- Adding custom parameter pass + through [`272734d`](https://github.com/googlemaps/google-maps-services-java/commit/272734d793df6708b1aafa7db4b0b5441f109efd) ## [v0.1.16](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.15...v0.1.16) - 2016-10-06 ### Merged -- Checking if OVER_QUERY_LIMIT is caused because Daily limit. In that c… [`#188`](https://github.com/googlemaps/google-maps-services-java/pull/188) -- Allow retries to be limited by number of retries, not time. [`#185`](https://github.com/googlemaps/google-maps-services-java/pull/185) -- Adding support for the Geolocation API call. [`#164`](https://github.com/googlemaps/google-maps-services-java/pull/164) -- Adding support for maneuver in the directions api. [`#50`](https://github.com/googlemaps/google-maps-services-java/pull/50) -- Fix poor resource management code (fixes #179) [`#181`](https://github.com/googlemaps/google-maps-services-java/pull/181) -- Add support for the 'permanently_closed' attribute in Place responses. [`#177`](https://github.com/googlemaps/google-maps-services-java/pull/177) +- Checking if OVER_QUERY_LIMIT is caused because Daily limit. In that + c… [`#188`](https://github.com/googlemaps/google-maps-services-java/pull/188) +- Allow retries to be limited by number of retries, not + time. [`#185`](https://github.com/googlemaps/google-maps-services-java/pull/185) +- Adding support for the Geolocation API + call. [`#164`](https://github.com/googlemaps/google-maps-services-java/pull/164) +- Adding support for maneuver in the directions + api. [`#50`](https://github.com/googlemaps/google-maps-services-java/pull/50) +- Fix poor resource management code (fixes + #179) [`#181`](https://github.com/googlemaps/google-maps-services-java/pull/181) +- Add support for the 'permanently_closed' attribute in Place + responses. [`#177`](https://github.com/googlemaps/google-maps-services-java/pull/177) - Set RateLimitExecutor thread name. [`#174`](https://github.com/googlemaps/google-maps-services-java/pull/174) - Cleaning up broken tests [`#167`](https://github.com/googlemaps/google-maps-services-java/pull/167) - Adds client-id example to README.md [`#166`](https://github.com/googlemaps/google-maps-services-java/pull/166) ### Fixed -- Merge pull request #181 from ben-manes/master [`#179`](https://github.com/googlemaps/google-maps-services-java/issues/179) -- Fix poor resource management code (fixes #179) [`#179`](https://github.com/googlemaps/google-maps-services-java/issues/179) +- Merge pull request #181 from + ben-manes/master [`#179`](https://github.com/googlemaps/google-maps-services-java/issues/179) +- Fix poor resource management code (fixes + #179) [`#179`](https://github.com/googlemaps/google-maps-services-java/issues/179) ### Commits -- Issue Fixes [`5281ed9`](https://github.com/googlemaps/google-maps-services-java/commit/5281ed9894a15c38fdddd9249cc8ca179d54763b) -- Pull Request Comments low hanging fruit. [`b2c718a`](https://github.com/googlemaps/google-maps-services-java/commit/b2c718a94828dfbb262105f46f8025efdb669902) -- ApiConfig now controls GET vs POST. [`f98913a`](https://github.com/googlemaps/google-maps-services-java/commit/f98913ab06475477298b3dfafea882883427fd5f) +- Issue + Fixes [`5281ed9`](https://github.com/googlemaps/google-maps-services-java/commit/5281ed9894a15c38fdddd9249cc8ca179d54763b) +- Pull Request Comments low hanging + fruit. [`b2c718a`](https://github.com/googlemaps/google-maps-services-java/commit/b2c718a94828dfbb262105f46f8025efdb669902) +- ApiConfig now controls GET vs + POST. [`f98913a`](https://github.com/googlemaps/google-maps-services-java/commit/f98913ab06475477298b3dfafea882883427fd5f) ## [v0.1.15](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.12...v0.1.15) - 2016-06-07 @@ -566,8 +754,10 @@ All notable changes to this project will be documented in this file. - Version 0.1.15 release [`#159`](https://github.com/googlemaps/google-maps-services-java/pull/159) - Break fixes [`#158`](https://github.com/googlemaps/google-maps-services-java/pull/158) - App engine support [`#154`](https://github.com/googlemaps/google-maps-services-java/pull/154) -- Increasing the precision of LatLng's toUrlValue [`#153`](https://github.com/googlemaps/google-maps-services-java/pull/153) -- Adding canonical literals for AddressComponentType [`#152`](https://github.com/googlemaps/google-maps-services-java/pull/152) +- Increasing the precision of LatLng's + toUrlValue [`#153`](https://github.com/googlemaps/google-maps-services-java/pull/153) +- Adding canonical literals for + AddressComponentType [`#152`](https://github.com/googlemaps/google-maps-services-java/pull/152) - Upgrade OkHttp [`#144`](https://github.com/googlemaps/google-maps-services-java/pull/144) ### Fixed @@ -576,25 +766,33 @@ All notable changes to this project will be documented in this file. ### Commits -- Adding support for Google App Engine [`e59c5d3`](https://github.com/googlemaps/google-maps-services-java/commit/e59c5d3e8116aa2393c7ed4cc0d53ad3669066f2) -- Adding unit test for canonical literals [`65e6997`](https://github.com/googlemaps/google-maps-services-java/commit/65e69970f23b649b15530232c513fe35cea4db17) -- Adding copyright notices. [`7755784`](https://github.com/googlemaps/google-maps-services-java/commit/7755784e0072403dd2c6e28db3877843ac20b177) +- Adding support for Google App + Engine [`e59c5d3`](https://github.com/googlemaps/google-maps-services-java/commit/e59c5d3e8116aa2393c7ed4cc0d53ad3669066f2) +- Adding unit test for canonical + literals [`65e6997`](https://github.com/googlemaps/google-maps-services-java/commit/65e69970f23b649b15530232c513fe35cea4db17) +- Adding copyright + notices. [`7755784`](https://github.com/googlemaps/google-maps-services-java/commit/7755784e0072403dd2c6e28db3877843ac20b177) ## [v0.1.12](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.11...v0.1.12) - 2016-03-24 ### Merged - Dropping flaky tests. [`#142`](https://github.com/googlemaps/google-maps-services-java/pull/142) -- Fix places autocomplete types parameter and introduced correct type enum [`#140`](https://github.com/googlemaps/google-maps-services-java/pull/140) -- distance matrix request - add traffic_model to request and durationInTraffic to response [`#139`](https://github.com/googlemaps/google-maps-services-java/pull/139) +- Fix places autocomplete types parameter and introduced correct type + enum [`#140`](https://github.com/googlemaps/google-maps-services-java/pull/140) +- distance matrix request - add traffic_model to request and durationInTraffic to + response [`#139`](https://github.com/googlemaps/google-maps-services-java/pull/139) - Commenting out Flaky test [`#136`](https://github.com/googlemaps/google-maps-services-java/pull/136) - Bug fixes and cleanups [`#135`](https://github.com/googlemaps/google-maps-services-java/pull/135) ### Commits -- Fix for https://github.com/googlemaps/google-maps-services-java/issues/75 [`99b8bd8`](https://github.com/googlemaps/google-maps-services-java/commit/99b8bd86f2f2cd639600447c05d2d9603ab58b76) -- Making Places API return AddressTypes instead of Strings. [`d567486`](https://github.com/googlemaps/google-maps-services-java/commit/d5674861aee3d96e0f7952f88afdc4feca94550e) -- Changing local_icon to localIcon, and reverting AddressType change. [`54b685e`](https://github.com/googlemaps/google-maps-services-java/commit/54b685ec3cd1cb71bd57765625b68c65934df861) +- Fix + for https://github.com/googlemaps/google-maps-services-java/issues/75 [`99b8bd8`](https://github.com/googlemaps/google-maps-services-java/commit/99b8bd86f2f2cd639600447c05d2d9603ab58b76) +- Making Places API return AddressTypes instead of + Strings. [`d567486`](https://github.com/googlemaps/google-maps-services-java/commit/d5674861aee3d96e0f7952f88afdc4feca94550e) +- Changing local_icon to localIcon, and reverting AddressType + change. [`54b685e`](https://github.com/googlemaps/google-maps-services-java/commit/54b685ec3cd1cb71bd57765625b68c65934df861) ## [v0.1.11](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.9...v0.1.11) - 2016-02-18 @@ -603,30 +801,38 @@ All notable changes to this project will be documented in this file. - Adding most of Places API, plus tidy ups. [`#133`](https://github.com/googlemaps/google-maps-services-java/pull/133) - Fixing analytics. [`#130`](https://github.com/googlemaps/google-maps-services-java/pull/130) - Making the fares tests pass. [`#129`](https://github.com/googlemaps/google-maps-services-java/pull/129) -- NPE check for route fares, and a better test for permanently closed. [`#128`](https://github.com/googlemaps/google-maps-services-java/pull/128) -- Adding tests: UTF8 return parsing and permanently closed [`#127`](https://github.com/googlemaps/google-maps-services-java/pull/127) +- NPE check for route fares, and a better test for permanently + closed. [`#128`](https://github.com/googlemaps/google-maps-services-java/pull/128) +- Adding tests: UTF8 return parsing and permanently + closed [`#127`](https://github.com/googlemaps/google-maps-services-java/pull/127) - Making Travis compile again. [`#125`](https://github.com/googlemaps/google-maps-services-java/pull/125) - Tidyup tests + better javadoc. [`#124`](https://github.com/googlemaps/google-maps-services-java/pull/124) -- Introducing Geocoded Waypoints into Directions API result. [`#118`](https://github.com/googlemaps/google-maps-services-java/pull/118) +- Introducing Geocoded Waypoints into Directions API + result. [`#118`](https://github.com/googlemaps/google-maps-services-java/pull/118) - Places API test fixes [`#115`](https://github.com/googlemaps/google-maps-services-java/pull/115) ### Commits -- Simplified Directions API to just one result type [`f1f73ba`](https://github.com/googlemaps/google-maps-services-java/commit/f1f73badbd38da3245c25fca8f50dfc32cca4912) -- Splitting the full result from just the routes. [`13e24c1`](https://github.com/googlemaps/google-maps-services-java/commit/13e24c1bfffc112c53fcd0e8d48f876a2d68854d) -- Introducing GeocodedWaypointStatus. [`b05e5ae`](https://github.com/googlemaps/google-maps-services-java/commit/b05e5aebbac63179d18569e76a79c896b9e91f40) +- Simplified Directions API to just one result + type [`f1f73ba`](https://github.com/googlemaps/google-maps-services-java/commit/f1f73badbd38da3245c25fca8f50dfc32cca4912) +- Splitting the full result from just the + routes. [`13e24c1`](https://github.com/googlemaps/google-maps-services-java/commit/13e24c1bfffc112c53fcd0e8d48f876a2d68854d) +- Introducing + GeocodedWaypointStatus. [`b05e5ae`](https://github.com/googlemaps/google-maps-services-java/commit/b05e5aebbac63179d18569e76a79c896b9e91f40) ## [v0.1.9](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.8...v0.1.9) - 2015-11-10 ### Merged -- Added traffic_model parameter to directions requests [`#112`](https://github.com/googlemaps/google-maps-services-java/pull/112) +- Added traffic_model parameter to directions + requests [`#112`](https://github.com/googlemaps/google-maps-services-java/pull/112) - Adding Subway Station [`#111`](https://github.com/googlemaps/google-maps-services-java/pull/111) - Places API release - version 0.1.8 [`#110`](https://github.com/googlemaps/google-maps-services-java/pull/110) ### Commits -- version bump [`dfa0a2f`](https://github.com/googlemaps/google-maps-services-java/commit/dfa0a2fa2ed9e1ef5974239dadedd20a14aa90a8) +- version + bump [`dfa0a2f`](https://github.com/googlemaps/google-maps-services-java/commit/dfa0a2fa2ed9e1ef5974239dadedd20a14aa90a8) ## [v0.1.8](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.7...v0.1.8) - 2015-10-14 @@ -636,15 +842,21 @@ All notable changes to this project will be documented in this file. - Adding Places API [`#106`](https://github.com/googlemaps/google-maps-services-java/pull/106) - Update README.md [`#103`](https://github.com/googlemaps/google-maps-services-java/pull/103) - Making tests happy. [`#100`](https://github.com/googlemaps/google-maps-services-java/pull/100) -- Added channel parameter to request (issue #77) [`#97`](https://github.com/googlemaps/google-maps-services-java/pull/97) +- Added channel parameter to request (issue + #77) [`#97`](https://github.com/googlemaps/google-maps-services-java/pull/97) - Multiple failed test fixes [`#89`](https://github.com/googlemaps/google-maps-services-java/pull/89) -- For issue #87 NumberFormatException when parsing SpeedLimit [`#88`](https://github.com/googlemaps/google-maps-services-java/pull/88) +- For issue #87 NumberFormatException when parsing + SpeedLimit [`#88`](https://github.com/googlemaps/google-maps-services-java/pull/88) ### Commits -- Fix for issue #87 NumberFormatException when parsing SpeedLimit response for nonmetric countries. Changed SpeedLimit.speedLimit property from long to double. Added unit tests. [`17342b0`](https://github.com/googlemaps/google-maps-services-java/commit/17342b0b455da698ee3e2d2bddb1d2fbabbb9aa5) -- Code tidyup [`e469d56`](https://github.com/googlemaps/google-maps-services-java/commit/e469d5623eb1ebd50fe9a9105bc56677b77c2550) -- Enable using API Keys as systemProperties. [`7e030c4`](https://github.com/googlemaps/google-maps-services-java/commit/7e030c493295061ee2c92288b60b621d9aec3bcb) +- Fix for issue #87 NumberFormatException when parsing SpeedLimit response for nonmetric countries. Changed + SpeedLimit.speedLimit property from long to double. Added unit + tests. [`17342b0`](https://github.com/googlemaps/google-maps-services-java/commit/17342b0b455da698ee3e2d2bddb1d2fbabbb9aa5) +- Code + tidyup [`e469d56`](https://github.com/googlemaps/google-maps-services-java/commit/e469d5623eb1ebd50fe9a9105bc56677b77c2550) +- Enable using API Keys as + systemProperties. [`7e030c4`](https://github.com/googlemaps/google-maps-services-java/commit/7e030c493295061ee2c92288b60b621d9aec3bcb) ## [v0.1.7](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.6...v0.1.7) - 2015-05-05 @@ -652,8 +864,10 @@ All notable changes to this project will be documented in this file. - Added postal_code_prefix (Closes #48) [`#86`](https://github.com/googlemaps/google-maps-services-java/pull/86) - Fixes vehicle type field name [`#81`](https://github.com/googlemaps/google-maps-services-java/pull/81) -- Added some returning but not documented AddressType. [`#78`](https://github.com/googlemaps/google-maps-services-java/pull/78) -- Updated build rules to execute M4W + keyed reqs together [`#80`](https://github.com/googlemaps/google-maps-services-java/pull/80) +- Added some returning but not documented + AddressType. [`#78`](https://github.com/googlemaps/google-maps-services-java/pull/78) +- Updated build rules to execute M4W + keyed reqs + together [`#80`](https://github.com/googlemaps/google-maps-services-java/pull/80) ### Fixed @@ -662,9 +876,12 @@ All notable changes to this project will be documented in this file. ### Commits -- Bumped timeouts for Raods API tests [`57fe118`](https://github.com/googlemaps/google-maps-services-java/commit/57fe118ba46572349f5ac33063be15e332add23c) -- JavaDoc in README to 0.1.6 [`270be23`](https://github.com/googlemaps/google-maps-services-java/commit/270be23a25851763530b6faf18545da6db9d3043) -- Adding @NicolasPoirier to AUTH/CONTRIB [`835fd60`](https://github.com/googlemaps/google-maps-services-java/commit/835fd6092ed26a2730b5304da71fe0c6d739c767) +- Bumped timeouts for Raods API + tests [`57fe118`](https://github.com/googlemaps/google-maps-services-java/commit/57fe118ba46572349f5ac33063be15e332add23c) +- JavaDoc in README to + 0.1.6 [`270be23`](https://github.com/googlemaps/google-maps-services-java/commit/270be23a25851763530b6faf18545da6db9d3043) +- Adding @NicolasPoirier to + AUTH/CONTRIB [`835fd60`](https://github.com/googlemaps/google-maps-services-java/commit/835fd6092ed26a2730b5304da71fe0c6d739c767) ## [v0.1.6](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.5...v0.1.6) - 2015-03-04 @@ -679,15 +896,20 @@ All notable changes to this project will be documented in this file. - Adds Proxy support to GeoApiContext [`#67`](https://github.com/googlemaps/google-maps-services-java/pull/67) - Fixed broken tests [`#64`](https://github.com/googlemaps/google-maps-services-java/pull/64) - final on String in model [`#63`](https://github.com/googlemaps/google-maps-services-java/pull/63) -- :moneybag: Transit Fares in Directions & DistanceMatrix [`#60`](https://github.com/googlemaps/google-maps-services-java/pull/60) +- :moneybag: Transit Fares in Directions & + DistanceMatrix [`#60`](https://github.com/googlemaps/google-maps-services-java/pull/60) - Fixed broken test caused by API data [`#61`](https://github.com/googlemaps/google-maps-services-java/pull/61) -- Added ApiConfig for more configurable API endpoints [`#58`](https://github.com/googlemaps/google-maps-services-java/pull/58) +- Added ApiConfig for more configurable API + endpoints [`#58`](https://github.com/googlemaps/google-maps-services-java/pull/58) ### Commits -- :car: Added Roads API [`a69e13c`](https://github.com/googlemaps/google-maps-services-java/commit/a69e13c5ec38020a607c5b2562b84ee197c7d2ce) -- Optimized lookup() method, adding more types. [`b0b1301`](https://github.com/googlemaps/google-maps-services-java/commit/b0b1301e7664d6a395d4d44ac64b8ad075bcf170) -- Added transit fares to directions API [`efb08a9`](https://github.com/googlemaps/google-maps-services-java/commit/efb08a9838cc75e37fd2169f3ad7515c1c9a584d) +- :car: Added Roads + API [`a69e13c`](https://github.com/googlemaps/google-maps-services-java/commit/a69e13c5ec38020a607c5b2562b84ee197c7d2ce) +- Optimized lookup() method, adding more + types. [`b0b1301`](https://github.com/googlemaps/google-maps-services-java/commit/b0b1301e7664d6a395d4d44ac64b8ad075bcf170) +- Added transit fares to directions + API [`efb08a9`](https://github.com/googlemaps/google-maps-services-java/commit/efb08a9838cc75e37fd2169f3ad7515c1c9a584d) ## [v0.1.5](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.4...v0.1.5) - 2015-01-19 @@ -695,62 +917,84 @@ All notable changes to this project will be documented in this file. - :wrench: Updated GSON dep to working version [`#57`](https://github.com/googlemaps/google-maps-services-java/pull/57) - Change req to Java 1.6 [`#56`](https://github.com/googlemaps/google-maps-services-java/pull/56) -- Response parsing and dependency on StandardCharsets class [`#46`](https://github.com/googlemaps/google-maps-services-java/pull/46) +- Response parsing and dependency on StandardCharsets + class [`#46`](https://github.com/googlemaps/google-maps-services-java/pull/46) ### Commits -- dependency on java.nio removed [`07a3098`](https://github.com/googlemaps/google-maps-services-java/commit/07a30986894a2b5735181623265c1ce46d8621f9) -- Adding support for maneuver in the directions api. [`0f7117d`](https://github.com/googlemaps/google-maps-services-java/commit/0f7117d685056db5954c8ffb57529b2f6e3d34cc) -- a bit smaller buffer [`267eb3d`](https://github.com/googlemaps/google-maps-services-java/commit/267eb3d530524a79197df2fed2d8afd8a1eef2f4) +- dependency on java.nio + removed [`07a3098`](https://github.com/googlemaps/google-maps-services-java/commit/07a30986894a2b5735181623265c1ce46d8621f9) +- Adding support for maneuver in the directions + api. [`0f7117d`](https://github.com/googlemaps/google-maps-services-java/commit/0f7117d685056db5954c8ffb57529b2f6e3d34cc) +- a bit smaller + buffer [`267eb3d`](https://github.com/googlemaps/google-maps-services-java/commit/267eb3d530524a79197df2fed2d8afd8a1eef2f4) ## [v0.1.4](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.3...v0.1.4) - 2014-11-04 ### Merged -- Minor cleanups, refactor RateLimitExecutorService. [`#41`](https://github.com/googlemaps/google-maps-services-java/pull/41) -- Add @nutsiepully, github usernames to CONTRIBUTORS [`#43`](https://github.com/googlemaps/google-maps-services-java/pull/43) +- Minor cleanups, refactor + RateLimitExecutorService. [`#41`](https://github.com/googlemaps/google-maps-services-java/pull/41) +- Add @nutsiepully, github usernames to + CONTRIBUTORS [`#43`](https://github.com/googlemaps/google-maps-services-java/pull/43) - Porting code to be compatible with Java 1.6 [`#42`](https://github.com/googlemaps/google-maps-services-java/pull/42) -- Fixing .gitignore to remove iml and intellij idea files. [`#40`](https://github.com/googlemaps/google-maps-services-java/pull/40) +- Fixing .gitignore to remove iml and intellij idea + files. [`#40`](https://github.com/googlemaps/google-maps-services-java/pull/40) - Make DistanceMatrixElementStatus an enum. [`#39`](https://github.com/googlemaps/google-maps-services-java/pull/39) - Add extra safety to unmarshaling to enums. [`#38`](https://github.com/googlemaps/google-maps-services-java/pull/38) ### Commits -- Incorporating formatting feedback. [`98785ca`](https://github.com/googlemaps/google-maps-services-java/commit/98785ca551959b8e77fdfec10ea8955fe3878011) -- :sparkle: clarified support text [`2c4a7cc`](https://github.com/googlemaps/google-maps-services-java/commit/2c4a7cc2c9829c51726260e925fe61d4128b97d8) -- javadoc -> 0.1.3 [`1d144d1`](https://github.com/googlemaps/google-maps-services-java/commit/1d144d1796a9c60dec37d379ca695fa2fa9e3d47) +- Incorporating formatting + feedback. [`98785ca`](https://github.com/googlemaps/google-maps-services-java/commit/98785ca551959b8e77fdfec10ea8955fe3878011) +- :sparkle: clarified support + text [`2c4a7cc`](https://github.com/googlemaps/google-maps-services-java/commit/2c4a7cc2c9829c51726260e925fe61d4128b97d8) +- javadoc -> + 0.1.3 [`1d144d1`](https://github.com/googlemaps/google-maps-services-java/commit/1d144d1796a9c60dec37d379ca695fa2fa9e3d47) ## [v0.1.3](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.2...v0.1.3) - 2014-10-03 ### Merged -- Added logging to the rate limiting test to aid debugging if it fails again [`#36`](https://github.com/googlemaps/google-maps-services-java/pull/36) -- Don't throw exceptions when the server returns something we're not expecting. [`#34`](https://github.com/googlemaps/google-maps-services-java/pull/34) +- Added logging to the rate limiting test to aid debugging if it fails + again [`#36`](https://github.com/googlemaps/google-maps-services-java/pull/36) +- Don't throw exceptions when the server returns something we're not + expecting. [`#34`](https://github.com/googlemaps/google-maps-services-java/pull/34) - Fix indentation. [`#33`](https://github.com/googlemaps/google-maps-services-java/pull/33) -- Better handling of more address types and address component types [`#32`](https://github.com/googlemaps/google-maps-services-java/pull/32) +- Better handling of more address types and address component + types [`#32`](https://github.com/googlemaps/google-maps-services-java/pull/32) - Fixing a typo in ReadMe.md [`#29`](https://github.com/googlemaps/google-maps-services-java/pull/29) -- A bit more Maps for Business -> Maps for Work renaming. [`#27`](https://github.com/googlemaps/google-maps-services-java/pull/27) -- Updates to the ReadMe. Cleaning up the original documentation, and clarifying some things around support/contribution. [`#26`](https://github.com/googlemaps/google-maps-services-java/pull/26) +- A bit more Maps for Business -> Maps for Work + renaming. [`#27`](https://github.com/googlemaps/google-maps-services-java/pull/27) +- Updates to the ReadMe. Cleaning up the original documentation, and clarifying some things around + support/contribution. [`#26`](https://github.com/googlemaps/google-maps-services-java/pull/26) - Remove elevation LatLng join code [`#25`](https://github.com/googlemaps/google-maps-services-java/pull/25) ### Commits -- Fix indentation. Remove unneeded import/impl of UrlValue. [`3f46121`](https://github.com/googlemaps/google-maps-services-java/commit/3f46121a8cacbe3c4abfc1cf1b2828b270ef8dcf) -- Updates to the ReadMe file [`989be08`](https://github.com/googlemaps/google-maps-services-java/commit/989be08cc55e370884a81e4a5bd4ef2987749762) -- Add instructions for generating and pushing javadoc. [`be0b96e`](https://github.com/googlemaps/google-maps-services-java/commit/be0b96e16c522d5b03f2c10524646340acfe25cf) +- Fix indentation. Remove unneeded import/impl of + UrlValue. [`3f46121`](https://github.com/googlemaps/google-maps-services-java/commit/3f46121a8cacbe3c4abfc1cf1b2828b270ef8dcf) +- Updates to the ReadMe + file [`989be08`](https://github.com/googlemaps/google-maps-services-java/commit/989be08cc55e370884a81e4a5bd4ef2987749762) +- Add instructions for generating and pushing + javadoc. [`be0b96e`](https://github.com/googlemaps/google-maps-services-java/commit/be0b96e16c522d5b03f2c10524646340acfe25cf) ## [v0.1.2](https://github.com/googlemaps/google-maps-services-java/compare/v0.1.1...v0.1.2) - 2014-09-16 ### Merged -- :vertical_traffic_light: added over_query_limit to retry logic [`#22`](https://github.com/googlemaps/google-maps-services-java/pull/22) +- :vertical_traffic_light: added over_query_limit to retry + logic [`#22`](https://github.com/googlemaps/google-maps-services-java/pull/22) - :curly_loop: fixed long-running threads [`#21`](https://github.com/googlemaps/google-maps-services-java/pull/21) ### Commits -- :curly_loop: extracted threadFactory [`14c7341`](https://github.com/googlemaps/google-maps-services-java/commit/14c7341afe6fdf9b30be9be808f0be2cb199f8c1) -- added over_query_limit to retry logic [`c074753`](https://github.com/googlemaps/google-maps-services-java/commit/c0747535ff208a846f2f77d0babc4530a922c6a9) -- :curly_loop: updated comment regarding thread termination [`d5af2a1`](https://github.com/googlemaps/google-maps-services-java/commit/d5af2a1764973e384c0da63e85adf8e3d75b285e) +- :curly_loop: extracted + threadFactory [`14c7341`](https://github.com/googlemaps/google-maps-services-java/commit/14c7341afe6fdf9b30be9be808f0be2cb199f8c1) +- added over_query_limit to retry + logic [`c074753`](https://github.com/googlemaps/google-maps-services-java/commit/c0747535ff208a846f2f77d0babc4530a922c6a9) +- :curly_loop: updated comment regarding thread + termination [`d5af2a1`](https://github.com/googlemaps/google-maps-services-java/commit/d5af2a1764973e384c0da63e85adf8e3d75b285e) ## v0.1.1 - 2014-09-12 @@ -758,10 +1002,12 @@ All notable changes to this project will be documented in this file. - Fixed signing rules to allow travis to run [`#20`](https://github.com/googlemaps/google-maps-services-java/pull/20) - Added maven deployment tasks [`#19`](https://github.com/googlemaps/google-maps-services-java/pull/19) -- Updated partial match test to use a working query [`#18`](https://github.com/googlemaps/google-maps-services-java/pull/18) +- Updated partial match test to use a working + query [`#18`](https://github.com/googlemaps/google-maps-services-java/pull/18) - Update README.md [`#16`](https://github.com/googlemaps/google-maps-services-java/pull/16) - Enable test coverage reports with jacoco [`#13`](https://github.com/googlemaps/google-maps-services-java/pull/13) -- Don't use local hostname for MockWebServer's base URL. [`#14`](https://github.com/googlemaps/google-maps-services-java/pull/14) +- Don't use local hostname for MockWebServer's base + URL. [`#14`](https://github.com/googlemaps/google-maps-services-java/pull/14) - added NOT_FOUND exception (closes #10) [`#11`](https://github.com/googlemaps/google-maps-services-java/pull/11) - :construction: fixed javadoc warnings [`#9`](https://github.com/googlemaps/google-maps-services-java/pull/9) - Updating copyrights and license [`#8`](https://github.com/googlemaps/google-maps-services-java/pull/8) @@ -775,11 +1021,15 @@ All notable changes to this project will be documented in this file. ### Fixed -- Merge pull request #11 from markmcd/issue-10 [`#10`](https://github.com/googlemaps/google-maps-services-java/issues/10) +- Merge pull request #11 from + markmcd/issue-10 [`#10`](https://github.com/googlemaps/google-maps-services-java/issues/10) - added NOT_FOUND exception (closes #10) [`#10`](https://github.com/googlemaps/google-maps-services-java/issues/10) ### Commits -- Initial import of Java code [`b577f30`](https://github.com/googlemaps/google-maps-services-java/commit/b577f300c18b88674a375018bfc4c20daca1f24b) -- Using the /* */ format instead of // [`0816981`](https://github.com/googlemaps/google-maps-services-java/commit/081698119beb67d76d0808db23bbc5fb615b08a8) -- :gift: Added gradle wrapper [`d669a10`](https://github.com/googlemaps/google-maps-services-java/commit/d669a10855a019db6332f3cbaf354d2d24e26a22) +- Initial import of Java + code [`b577f30`](https://github.com/googlemaps/google-maps-services-java/commit/b577f300c18b88674a375018bfc4c20daca1f24b) +- Using the /* */ format instead + of // [`0816981`](https://github.com/googlemaps/google-maps-services-java/commit/081698119beb67d76d0808db23bbc5fb615b08a8) +- :gift: Added gradle + wrapper [`d669a10`](https://github.com/googlemaps/google-maps-services-java/commit/d669a10855a019db6332f3cbaf354d2d24e26a22) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index f8b12cb55..e35f6ac15 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -24,6 +24,7 @@ conduct, which may have additional detailed expectations for participants. Most of those projects will use our [modified Contributor Covenant][]. [may adopt]: https://opensource.google/docs/releasing/preparing/#conduct + [modified Contributor Covenant]: https://opensource.google/docs/releasing/template/CODE_OF_CONDUCT/ ## Resolve peacefully diff --git a/CodeCoverageReport/css/coverage.css b/CodeCoverageReport/css/coverage.css deleted file mode 100644 index cef776517..000000000 --- a/CodeCoverageReport/css/coverage.css +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2000-2021 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -* { - margin: 0; - padding: 0; -} - -body { - background-color: #fff; - font-family: helvetica neue, tahoma, arial, sans-serif; - font-size: 82%; - color: #151515; -} - -h1 { - margin: 0.5em 0; - color: #010101; - font-weight: normal; - font-size: 18px; -} - -h2 { - margin: 0.5em 0; - color: #010101; - font-weight: normal; - font-size: 16px; -} - -a { - color: #1564C2; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -span.separator { - color: #9BA9BA; - padding-left: 5px; - padding-right: 5px; -} - -div.content { - width: 99%; -} - -table.coverageStats { - width: 100%; - border-collapse: collapse; -} - -table.overallStats { - width: 20%; -} - -table.coverageStats td, table.coverageStats th { - padding: 4px 2px; - border-bottom: 1px solid #ccc; -} - -table.coverageStats th { - background-color: #959BA4; - border: none; - font-weight: bold; - text-align: left; - color: #FFF; -} - -table.coverageStats th.coverageStat { - width: 15%; -} - -table.coverageStats th a { - color: #FFF; -} - -table.coverageStats th a:hover { - text-decoration: none; -} - -table.coverageStats th.sortedDesc a { - background: url(../img/arrowDown.gif) no-repeat 100% 2px; - padding-right: 20px; -} - -table.coverageStats th.sortedAsc a { - background: url(../img/arrowUp.gif) no-repeat 100% 2px; - padding-right: 20px; -} - -div.footer { - margin: 2em .5em; - font-size: 85%; - text-align: left; - line-height: 140%; -} - -code.sourceCode { - width: 100%; - border: 1px solid #ccc; - font: normal 12px 'Menlo', 'Bitstream Vera Sans Mono', 'Courier New', 'Courier', monospace; - white-space: pre; -} - -code.sourceCode b { - font-weight: normal; -} - -code.sourceCode span.number { - color: #151515; -} - -code.sourceCode .fc { - background-color: #cfc; -} - -code.sourceCode .pc { - background-color: #ffc; -} - -code.sourceCode .nc { - background-color: #fcc; -} - -.percent, .absValue { - font-size: 90%; -} - -.percent .green, .absValue .green { - color: #32cc32; -} - -.percent .red, .absValue .red { - color: #f00; -} - -.percent .totalDiff { - color: #3f3f3f; -} diff --git a/CodeCoverageReport/css/idea.min.css b/CodeCoverageReport/css/idea.min.css deleted file mode 100644 index a8d5292bd..000000000 --- a/CodeCoverageReport/css/idea.min.css +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2000-2021 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* -Intellij Idea-like styling (c) Vasily Polovnyov -*/ - -.hljs { - color: #000; - background: #fff; -} - -.hljs-subst, -.hljs-title { - font-weight: normal; - color: #000; -} - -.hljs-comment, -.hljs-quote { - color: #808080; - font-style: italic; -} - -.hljs-meta { - color: #808000; -} - -.hljs-tag { - background: #efefef; -} - -.hljs-section, -.hljs-name, -.hljs-literal, -.hljs-keyword, -.hljs-selector-tag, -.hljs-type, -.hljs-selector-id, -.hljs-selector-class { - font-weight: bold; - color: #000080; -} - -.hljs-attribute, -.hljs-number, -.hljs-regexp, -.hljs-link { - font-weight: bold; - color: #0000ff; -} - -.hljs-number, -.hljs-regexp, -.hljs-link { - font-weight: normal; -} - -.hljs-string { - color: #008000; - font-weight: bold; -} - -.hljs-symbol, -.hljs-bullet, -.hljs-formula { - color: #000; - background: #d0eded; - font-style: italic; -} - -.hljs-doctag { - text-decoration: underline; -} - -.hljs-variable, -.hljs-template-variable { - color: #660e7a; -} - -.hljs-addition { - background: #baeeba; -} - -.hljs-deletion { - background: #ffc8bd; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -.hljs-ln-numbers { - display: block; - float: left; - width: 3em; - border-right: 1px solid #ccc; - font-style: normal; - text-align: right; - background-color: #eee; -} diff --git a/CodeCoverageReport/img/arrowDown.gif b/CodeCoverageReport/img/arrowDown.gif deleted file mode 100644 index a4ac9b4b0f5eee9fc82deb7f03d0cc7f197b01c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89 zcmZ?wbhEHbv%yJ&P?))?G g5?!@7agD+*@rGjs@joUks8}}Ha%HfNHz$KN0Orjd82|tP diff --git a/CodeCoverageReport/img/arrowUp.gif b/CodeCoverageReport/img/arrowUp.gif deleted file mode 100644 index d488db0089f15409b83a6f39718384cac89ea3c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91 zcmZ?wbhEHbv%nBa6?))=2 j#jeJ<$W6!S$=vG=3s*2Wu3C5I!M+a(XH6zEFjxZs9OxeQ diff --git a/CodeCoverageReport/index.html b/CodeCoverageReport/index.html deleted file mode 100644 index b1ead1327..000000000 --- a/CodeCoverageReport/index.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_BLOCK.html b/CodeCoverageReport/index_SORT_BY_BLOCK.html deleted file mode 100644 index a1be4a625..000000000 --- a/CodeCoverageReport/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 11baf739a..000000000 --- a/CodeCoverageReport/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_CLASS.html b/CodeCoverageReport/index_SORT_BY_CLASS.html deleted file mode 100644 index 7aa8cc43a..000000000 --- a/CodeCoverageReport/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index c97d24be8..000000000 --- a/CodeCoverageReport/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_LINE.html b/CodeCoverageReport/index_SORT_BY_LINE.html deleted file mode 100644 index 8034ef47b..000000000 --- a/CodeCoverageReport/index_SORT_BY_LINE.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index e1f4e5e98..000000000 --- a/CodeCoverageReport/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_METHOD.html b/CodeCoverageReport/index_SORT_BY_METHOD.html deleted file mode 100644 index 61d8509b5..000000000 --- a/CodeCoverageReport/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index c190b7a85..000000000 --- a/CodeCoverageReport/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
-
- - - - - - - diff --git a/CodeCoverageReport/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index 656f2282b..000000000 --- a/CodeCoverageReport/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - Coverage Report > Summary - - - - - - -
- - -

Overall Coverage Summary

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
all classes - - 86.2% - - - (175/203) - - - - 72.8% - - - (625/859) - - - - 50.4% - - - (468/929) - - - - 72.5% - - - (2270/3129) - -
- -
-

Coverage Breakdown

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
-
- - - - - - - diff --git a/CodeCoverageReport/js/highlight.min.js b/CodeCoverageReport/js/highlight.min.js deleted file mode 100644 index e88731520..000000000 --- a/CodeCoverageReport/js/highlight.min.js +++ /dev/null @@ -1,1388 +0,0 @@ -/* - Highlight.js 10.7.2 (00233d63) - License: BSD-3-Clause - Copyright (c) 2006-2021, Ivan Sagalaev - - BSD 3-Clause License - - Copyright (c) 2006-2021, Ivan Sagalaev. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -var hljs=function(){"use strict";function e(t){ -return t instanceof Map?t.clear=t.delete=t.set=()=>{ -throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ -throw Error("set is read-only") -}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{var i=t[n] -;"object"!=typeof i||Object.isFrozen(i)||e(i)})),t}var t=e,n=e;t.default=n -;class i{constructor(e){ -void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} -ignoreMatch(){this.isMatchIgnored=!0}}function s(e){ -return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") -}function a(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] -;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const r=e=>!!e.kind -;class l{constructor(e,t){ -this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ -this.buffer+=s(e)}openNode(e){if(!r(e))return;let t=e.kind -;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){ -r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ -this.buffer+=``}}class o{constructor(){this.rootNode={ -children:[]},this.stack=[this.rootNode]}get top(){ -return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ -this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} -;this.add(t),this.stack.push(t)}closeNode(){ -if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ -for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} -walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ -return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), -t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ -"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ -o._collapse(e)})))}}class c extends o{constructor(e){super(),this.options=e} -addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} -addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root -;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ -return new l(this,this.options).value()}finalize(){return!0}}function g(e){ -return e?"string"==typeof e?e:e.source:null} -const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,h="[a-zA-Z]\\w*",d="[a-zA-Z_]\\w*",f="\\b\\d+(\\.\\d+)?",p="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",m="\\b(0b[01]+)",b={ -begin:"\\\\[\\s\\S]",relevance:0},E={className:"string",begin:"'",end:"'", -illegal:"\\n",contains:[b]},x={className:"string",begin:'"',end:'"', -illegal:"\\n",contains:[b]},v={ -begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ -},w=(e,t,n={})=>{const i=a({className:"comment",begin:e,end:t,contains:[]},n) -;return i.contains.push(v),i.contains.push({className:"doctag", -begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i -},y=w("//","$"),N=w("/\\*","\\*/"),R=w("#","$");var _=Object.freeze({ -__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:h,UNDERSCORE_IDENT_RE:d, -NUMBER_RE:f,C_NUMBER_RE:p,BINARY_NUMBER_RE:m, -RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", -SHEBANG:(e={})=>{const t=/^#![ ]*\// -;return e.binary&&(e.begin=((...e)=>e.map((e=>g(e))).join(""))(t,/.*\b/,e.binary,/\b.*/)), -a({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{ -0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:b,APOS_STRING_MODE:E, -QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:v,COMMENT:w,C_LINE_COMMENT_MODE:y, -C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:R,NUMBER_MODE:{className:"number", -begin:f,relevance:0},C_NUMBER_MODE:{className:"number",begin:p,relevance:0}, -BINARY_NUMBER_MODE:{className:"number",begin:m,relevance:0},CSS_NUMBER_MODE:{ -className:"number", -begin:f+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", -relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp", -begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[b,{begin:/\[/,end:/\]/, -relevance:0,contains:[b]}]}]},TITLE_MODE:{className:"title",begin:h,relevance:0 -},UNDERSCORE_TITLE_MODE:{className:"title",begin:d,relevance:0},METHOD_GUARD:{ -begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ -"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ -t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function k(e,t){ -"."===e.input[e.index-1]&&t.ignoreMatch()}function M(e,t){ -t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", -e.__beforeBegin=k,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, -void 0===e.relevance&&(e.relevance=0))}function O(e,t){ -Array.isArray(e.illegal)&&(e.illegal=((...e)=>"("+e.map((e=>g(e))).join("|")+")")(...e.illegal)) -}function A(e,t){if(e.match){ -if(e.begin||e.end)throw Error("begin & end are not supported with match") -;e.begin=e.match,delete e.match}}function L(e,t){ -void 0===e.relevance&&(e.relevance=1)} -const I=["of","and","for","in","not","or","if","then","parent","list","value"] -;function j(e,t,n="keyword"){const i={} -;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ -Object.assign(i,j(e[n],t,n))})),i;function s(e,n){ -t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") -;i[n[0]]=[e,B(n[0],n[1])]}))}}function B(e,t){ -return t?Number(t):(e=>I.includes(e.toLowerCase()))(e)?0:1} -function T(e,{plugins:t}){function n(t,n){ -return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{ -constructor(){ -this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} -addRule(e,t){ -t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), -this.matchAt+=(e=>RegExp(e.toString()+"|").exec("").length-1)(e)+1}compile(){ -0===this.regexes.length&&(this.exec=()=>null) -;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(((e,t="|")=>{let n=0 -;return e.map((e=>{n+=1;const t=n;let i=g(e),s="";for(;i.length>0;){ -const e=u.exec(i);if(!e){s+=i;break} -s+=i.substring(0,e.index),i=i.substring(e.index+e[0].length), -"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],"("===e[0]&&n++)}return s -})).map((e=>`(${e})`)).join(t)})(e),!0),this.lastIndex=0}exec(e){ -this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e) -;if(!t)return null -;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] -;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ -this.rules=[],this.multiRegexes=[], -this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ -if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i -;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), -t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ -return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ -this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ -const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex -;let n=t.exec(e) -;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ -const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} -return n&&(this.regexIndex+=n.position+1, -this.regexIndex===this.count&&this.considerAll()),n}} -if(e.compilerExtensions||(e.compilerExtensions=[]), -e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") -;return e.classNameAliases=a(e.classNameAliases||{}),function t(i,r){const l=i -;if(i.isCompiled)return l -;[A].forEach((e=>e(i,r))),e.compilerExtensions.forEach((e=>e(i,r))), -i.__beforeBegin=null,[M,O,L].forEach((e=>e(i,r))),i.isCompiled=!0;let o=null -;if("object"==typeof i.keywords&&(o=i.keywords.$pattern, -delete i.keywords.$pattern), -i.keywords&&(i.keywords=j(i.keywords,e.case_insensitive)), -i.lexemes&&o)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ") -;return o=o||i.lexemes||/\w+/, -l.keywordPatternRe=n(o,!0),r&&(i.begin||(i.begin=/\B|\b/), -l.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin), -i.end||i.endsWithParent||(i.end=/\B|\b/), -i.end&&(l.endRe=n(i.end)),l.terminatorEnd=g(i.end)||"", -i.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)), -i.illegal&&(l.illegalRe=n(i.illegal)), -i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>a(e,{ -variants:null},t)))),e.cachedVariants?e.cachedVariants:S(e)?a(e,{ -starts:e.starts?a(e.starts):null -}):Object.isFrozen(e)?a(e):e))("self"===e?i:e)))),i.contains.forEach((e=>{t(e,l) -})),i.starts&&t(i.starts,r),l.matcher=(e=>{const t=new s -;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" -}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" -}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(l),l}(e)}function S(e){ -return!!e&&(e.endsWithParent||S(e.starts))}function P(e){const t={ -props:["language","code","autodetect"],data:()=>({detectedLanguage:"", -unknownLanguage:!1}),computed:{className(){ -return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){ -if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`), -this.unknownLanguage=!0,s(this.code);let t={} -;return this.autoDetect?(t=e.highlightAuto(this.code), -this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals), -this.detectedLanguage=this.language),t.value},autoDetect(){ -return!(this.language&&(e=this.autodetect,!e&&""!==e));var e}, -ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{ -class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{ -Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const D={ -"after:highlightElement":({el:e,result:t,text:n})=>{const i=H(e) -;if(!i.length)return;const a=document.createElement("div") -;a.innerHTML=t.value,t.value=((e,t,n)=>{let i=0,a="";const r=[];function l(){ -return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function c(e){ -a+=""}function g(e){("start"===e.event?o:c)(e.node)} -for(;e.length||t.length;){let t=l() -;if(a+=s(n.substring(i,t[0].offset)),i=t[0].offset,t===e){r.reverse().forEach(c) -;do{g(t.splice(0,1)[0]),t=l()}while(t===e&&t.length&&t[0].offset===i) -;r.reverse().forEach(o) -}else"start"===t[0].event?r.push(t[0].node):r.pop(),g(t.splice(0,1)[0])} -return a+s(n.substr(i))})(i,H(a),n)}};function C(e){ -return e.nodeName.toLowerCase()}function H(e){const t=[];return function e(n,i){ -for(let s=n.firstChild;s;s=s.nextSibling)3===s.nodeType?i+=s.nodeValue.length:1===s.nodeType&&(t.push({ -event:"start",offset:i,node:s}),i=e(s,i),C(s).match(/br|hr|img|input/)||t.push({ -event:"stop",offset:i,node:s}));return i}(e,0),t}const $={},U=e=>{ -console.error(e)},z=(e,...t)=>{console.log("WARN: "+e,...t)},K=(e,t)=>{ -$[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),$[`${e}/${t}`]=!0) -},G=s,V=a,W=Symbol("nomatch");return(e=>{ -const n=Object.create(null),s=Object.create(null),a=[];let r=!0 -;const l=/(^(<[^>]+>|\t|)+|\n)/gm,o="Could not find the language '{}', did you forget to load/include a language module?",g={ -disableAutodetect:!0,name:"Plain text",contains:[]};let u={ -noHighlightRe:/^(no-?highlight)$/i, -languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", -tabReplace:null,useBR:!1,languages:null,__emitter:c};function h(e){ -return u.noHighlightRe.test(e)}function d(e,t,n,i){let s="",a="" -;"object"==typeof t?(s=e, -n=t.ignoreIllegals,a=t.language,i=void 0):(K("10.7.0","highlight(lang, code, ...args) has been deprecated."), -K("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), -a=e,s=t);const r={code:s,language:a};M("before:highlight",r) -;const l=r.result?r.result:f(r.language,r.code,n,i) -;return l.code=r.code,M("after:highlight",l),l}function f(e,t,s,l){ -function c(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0] -;return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]} -function g(){null!=R.subLanguage?(()=>{if(""===M)return;let e=null -;if("string"==typeof R.subLanguage){ -if(!n[R.subLanguage])return void k.addText(M) -;e=f(R.subLanguage,M,!0,_[R.subLanguage]),_[R.subLanguage]=e.top -}else e=p(M,R.subLanguage.length?R.subLanguage:null) -;R.relevance>0&&(O+=e.relevance),k.addSublanguage(e.emitter,e.language) -})():(()=>{if(!R.keywords)return void k.addText(M);let e=0 -;R.keywordPatternRe.lastIndex=0;let t=R.keywordPatternRe.exec(M),n="";for(;t;){ -n+=M.substring(e,t.index);const i=c(R,t);if(i){const[e,s]=i -;if(k.addText(n),n="",O+=s,e.startsWith("_"))n+=t[0];else{ -const n=v.classNameAliases[e]||e;k.addKeyword(t[0],n)}}else n+=t[0] -;e=R.keywordPatternRe.lastIndex,t=R.keywordPatternRe.exec(M)} -n+=M.substr(e),k.addText(n)})(),M=""}function h(e){ -return e.className&&k.openNode(v.classNameAliases[e.className]||e.className), -R=Object.create(e,{parent:{value:R}}),R}function d(e,t,n){let s=((e,t)=>{ -const n=e&&e.exec(t);return n&&0===n.index})(e.endRe,n);if(s){if(e["on:end"]){ -const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(s=!1)}if(s){ -for(;e.endsParent&&e.parent;)e=e.parent;return e}} -if(e.endsWithParent)return d(e.parent,t,n)}function m(e){ -return 0===R.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function b(e){ -const n=e[0],i=t.substr(e.index),s=d(R,e,i);if(!s)return W;const a=R -;a.skip?M+=n:(a.returnEnd||a.excludeEnd||(M+=n),g(),a.excludeEnd&&(M=n));do{ -R.className&&k.closeNode(),R.skip||R.subLanguage||(O+=R.relevance),R=R.parent -}while(R!==s.parent) -;return s.starts&&(s.endSameAsBegin&&(s.starts.endRe=s.endRe), -h(s.starts)),a.returnEnd?0:n.length}let E={};function x(n,a){const l=a&&a[0] -;if(M+=n,null==l)return g(),0 -;if("begin"===E.type&&"end"===a.type&&E.index===a.index&&""===l){ -if(M+=t.slice(a.index,a.index+1),!r){const t=Error("0 width match regex") -;throw t.languageName=e,t.badRule=E.rule,t}return 1} -if(E=a,"begin"===a.type)return function(e){ -const t=e[0],n=e.rule,s=new i(n),a=[n.__beforeBegin,n["on:begin"]] -;for(const n of a)if(n&&(n(e,s),s.isMatchIgnored))return m(t) -;return n&&n.endSameAsBegin&&(n.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")), -n.skip?M+=t:(n.excludeBegin&&(M+=t), -g(),n.returnBegin||n.excludeBegin||(M=t)),h(n),n.returnBegin?0:t.length}(a) -;if("illegal"===a.type&&!s){ -const e=Error('Illegal lexeme "'+l+'" for mode "'+(R.className||"")+'"') -;throw e.mode=R,e}if("end"===a.type){const e=b(a);if(e!==W)return e} -if("illegal"===a.type&&""===l)return 1 -;if(L>1e5&&L>3*a.index)throw Error("potential infinite loop, way more iterations than matches") -;return M+=l,l.length}const v=N(e) -;if(!v)throw U(o.replace("{}",e)),Error('Unknown language: "'+e+'"') -;const w=T(v,{plugins:a});let y="",R=l||w;const _={},k=new u.__emitter(u);(()=>{ -const e=[];for(let t=R;t!==v;t=t.parent)t.className&&e.unshift(t.className) -;e.forEach((e=>k.openNode(e)))})();let M="",O=0,A=0,L=0,I=!1;try{ -for(R.matcher.considerAll();;){ -L++,I?I=!1:R.matcher.considerAll(),R.matcher.lastIndex=A -;const e=R.matcher.exec(t);if(!e)break;const n=x(t.substring(A,e.index),e) -;A=e.index+n}return x(t.substr(A)),k.closeAllNodes(),k.finalize(),y=k.toHTML(),{ -relevance:Math.floor(O),value:y,language:e,illegal:!1,emitter:k,top:R}}catch(n){ -if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{ -msg:n.message,context:t.slice(A-100,A+100),mode:n.mode},sofar:y,relevance:0, -value:G(t),emitter:k};if(r)return{illegal:!1,relevance:0,value:G(t),emitter:k, -language:e,top:R,errorRaised:n};throw n}}function p(e,t){ -t=t||u.languages||Object.keys(n);const i=(e=>{const t={relevance:0, -emitter:new u.__emitter(u),value:G(e),illegal:!1,top:g} -;return t.emitter.addText(e),t})(e),s=t.filter(N).filter(k).map((t=>f(t,e,!1))) -;s.unshift(i);const a=s.sort(((e,t)=>{ -if(e.relevance!==t.relevance)return t.relevance-e.relevance -;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1 -;if(N(t.language).supersetOf===e.language)return-1}return 0})),[r,l]=a,o=r -;return o.second_best=l,o}const m={"before:highlightElement":({el:e})=>{ -u.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")) -},"after:highlightElement":({result:e})=>{ -u.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},b=/^(<[^>]+>|\t)+/gm,E={ -"after:highlightElement":({result:e})=>{ -u.tabReplace&&(e.value=e.value.replace(b,(e=>e.replace(/\t/g,u.tabReplace))))}} -;function x(e){let t=null;const n=(e=>{let t=e.className+" " -;t+=e.parentNode?e.parentNode.className:"";const n=u.languageDetectRe.exec(t) -;if(n){const t=N(n[1]) -;return t||(z(o.replace("{}",n[1])),z("Falling back to no-highlight mode for this block.",e)), -t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>h(e)||N(e)))})(e) -;if(h(n))return;M("before:highlightElement",{el:e,language:n}),t=e -;const i=t.textContent,a=n?d(i,{language:n,ignoreIllegals:!0}):p(i) -;M("after:highlightElement",{el:e,result:a,text:i -}),e.innerHTML=a.value,((e,t,n)=>{const i=t?s[t]:n -;e.classList.add("hljs"),i&&e.classList.add(i)})(e,n,a.language),e.result={ -language:a.language,re:a.relevance,relavance:a.relevance -},a.second_best&&(e.second_best={language:a.second_best.language, -re:a.second_best.relevance,relavance:a.second_best.relevance})}const v=()=>{ -v.called||(v.called=!0, -K("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."), -document.querySelectorAll("pre code").forEach(x))};let w=!1;function y(){ -"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(x):w=!0 -}function N(e){return e=(e||"").toLowerCase(),n[e]||n[s[e]]} -function R(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ -s[e.toLowerCase()]=t}))}function k(e){const t=N(e) -;return t&&!t.disableAutodetect}function M(e,t){const n=e;a.forEach((e=>{ -e[n]&&e[n](t)}))} -"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ -w&&y()}),!1),Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:y, -fixMarkup:e=>{ -return K("10.2.0","fixMarkup will be removed entirely in v11.0"),K("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"), -t=e, -u.tabReplace||u.useBR?t.replace(l,(e=>"\n"===e?u.useBR?"
":e:u.tabReplace?e.replace(/\t/g,u.tabReplace):e)):t -;var t},highlightElement:x, -highlightBlock:e=>(K("10.7.0","highlightBlock will be removed entirely in v12.0"), -K("10.7.0","Please use highlightElement now."),x(e)),configure:e=>{ -e.useBR&&(K("10.3.0","'useBR' will be removed entirely in v11.0"), -K("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")), -u=V(u,e)},initHighlighting:v,initHighlightingOnLoad:()=>{ -K("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."), -w=!0},registerLanguage:(t,i)=>{let s=null;try{s=i(e)}catch(e){ -if(U("Language definition for '{}' could not be registered.".replace("{}",t)), -!r)throw e;U(e),s=g} -s.name||(s.name=t),n[t]=s,s.rawDefinition=i.bind(null,e),s.aliases&&R(s.aliases,{ -languageName:t})},unregisterLanguage:e=>{delete n[e] -;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, -listLanguages:()=>Object.keys(n),getLanguage:N,registerAliases:R, -requireLanguage:e=>{ -K("10.4.0","requireLanguage will be removed entirely in v11."), -K("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844") -;const t=N(e);if(t)return t -;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))}, -autoDetection:k,inherit:V,addPlugin:e=>{(e=>{ -e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ -e["before:highlightBlock"](Object.assign({block:t.el},t)) -}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ -e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),a.push(e)}, -vuePlugin:P(e).VuePlugin}),e.debugMode=()=>{r=!1},e.safeMode=()=>{r=!0 -},e.versionString="10.7.2";for(const e in _)"object"==typeof _[e]&&t(_[e]) -;return Object.assign(e,_),e.addPlugin(m),e.addPlugin(D),e.addPlugin(E),e})({}) -}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); -hljs.registerLanguage("apache",(()=>{"use strict";return e=>{const n={ -className:"number",begin:/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/} -;return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0, -contains:[e.HASH_COMMENT_MODE,{className:"section",begin:/<\/?/,end:/>/, -contains:[n,{className:"number",begin:/:\d{1,5}/ -},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute", -begin:/\w+/,relevance:0,keywords:{ -nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername" -},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"}, -contains:[{className:"meta",begin:/\s\[/,end:/\]$/},{className:"variable", -begin:/[\$%]\{/,end:/\}/,contains:["self",{className:"number",begin:/[$%]\d+/}] -},n,{className:"number",begin:/\d+/},e.QUOTE_STRING_MODE]}}],illegal:/\S/}} -})()); -hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s -})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ -begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ -begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ -className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ -begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, -end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, -contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, -end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] -},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 -}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, -contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ -name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/, -keyword:"if then else elif fi for while in do done case esac function", -literal:"true false", -built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" -},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ -},{className:"string",begin:/'/,end:/'/},n]}}})()); -hljs.registerLanguage("c",(()=>{"use strict";function e(e){ -return((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(",e,")?") -}return t=>{const n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),r="[a-zA-Z_]\\w*::",a="(decltype\\(auto\\)|"+e(r)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",i={ -className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string", -variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", -contains:[t.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},t.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},t.inherit(s,{className:"meta-string"}),{ -className:"meta-string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},l={ -className:"title",begin:e(r)+t.IDENT_RE,relevance:0 -},d=e(r)+t.IDENT_RE+"\\s*\\(",u={ -keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", -built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary", -literal:"true false nullptr NULL"},m=[c,i,n,t.C_BLOCK_COMMENT_MODE,o,s],p={ -variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ -beginKeywords:"new throw return else",end:/;/}],keywords:u,contains:m.concat([{ -begin:/\(/,end:/\)/,keywords:u,contains:m.concat(["self"]),relevance:0}]), -relevance:0},_={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d, -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:u,illegal:/[^\w\s\*&:<>.]/, -contains:[{begin:"decltype\\(auto\\)",keywords:u,relevance:0},{begin:d, -returnBegin:!0,contains:[l],relevance:0},{className:"params",begin:/\(/, -end:/\)/,keywords:u,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,s,o,i,{ -begin:/\(/,end:/\)/,keywords:u,relevance:0, -contains:["self",n,t.C_BLOCK_COMMENT_MODE,s,o,i]}] -},i,n,t.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, -disableAutodetect:!0,illegal:"",keywords:u,contains:["self",i]},{begin:t.IDENT_RE+"::",keywords:u},{ -className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, -contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{ -preprocessor:c,strings:s,keywords:u}}}})()); -hljs.registerLanguage("coffeescript",(()=>{"use strict" -;const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;return r=>{const t={ -keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((i=["var","const","let","function","static"], -e=>!i.includes(e))),literal:n.concat(["yes","no","on","off"]), -built_in:a.concat(["npm","print"])};var i;const s="[A-Za-z$_][0-9A-Za-z$_]*",o={ -className:"subst",begin:/#\{/,end:/\}/,keywords:t -},c=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?", -relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/, -contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE] -},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,o]},{begin:/"/,end:/"/, -contains:[r.BACKSLASH_ESCAPE,o]}]},{className:"regexp",variants:[{begin:"///", -end:"///",contains:[o,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)", -relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+s -},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{ -begin:"```",end:"```"},{begin:"`",end:"`"}]}];o.contains=c -;const l=r.inherit(r.TITLE_MODE,{begin:s}),d="(\\(.*\\)\\s*)?\\B[-=]>",g={ -className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/, -end:/\)/,keywords:t,contains:["self"].concat(c)}]};return{name:"CoffeeScript", -aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/, -contains:c.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{ -className:"function",begin:"^\\s*"+s+"\\s*=\\s*"+d,end:"[-=]>",returnBegin:!0, -contains:[l,g]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function", -begin:d,end:"[-=]>",returnBegin:!0,contains:[g]}]},{className:"class", -beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{ -beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[l]},l] -},{begin:s+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}})()); -hljs.registerLanguage("cpp",(()=>{"use strict";function e(e){ -return t("(",e,")?")}function t(...e){return e.map((e=>{ -return(t=e)?"string"==typeof t?t:t.source:null;var t})).join("")}return n=>{ -const r=n.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+e(a)+"[a-zA-Z_]\\w*"+e("<[^<>]+>")+")",s={ -className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string", -variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n", -contains:[n.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},n.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},n.inherit(c,{className:"meta-string"}),{ -className:"meta-string",begin:/<.*?>/},r,n.C_BLOCK_COMMENT_MODE]},d={ -className:"title",begin:e(a)+n.IDENT_RE,relevance:0 -},u=e(a)+n.IDENT_RE+"\\s*\\(",m={ -keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq", -built_in:"_Bool _Complex _Imaginary", -_relevance_hints:["asin","atan2","atan","calloc","ceil","cosh","cos","exit","exp","fabs","floor","fmod","fprintf","fputs","free","frexp","auto_ptr","deque","list","queue","stack","vector","map","set","pair","bitset","multiset","multimap","unordered_set","fscanf","future","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","tolower","toupper","labs","ldexp","log10","log","malloc","realloc","memchr","memcmp","memcpy","memset","modf","pow","printf","putchar","puts","scanf","sinh","sin","snprintf","sprintf","sqrt","sscanf","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","tanh","tan","unordered_map","unordered_multiset","unordered_multimap","priority_queue","make_pair","array","shared_ptr","abort","terminate","abs","acos","vfprintf","vprintf","vsprintf","endl","initializer_list","unique_ptr","complex","imaginary","std","string","wstring","cin","cout","cerr","clog","stdin","stdout","stderr","stringstream","istringstream","ostringstream"], -literal:"true false nullptr NULL"},p={className:"function.dispatch",relevance:0, -keywords:m, -begin:t(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,n.IDENT_RE,(_=/\s*\(/, -t("(?=",_,")")))};var _;const g=[p,l,s,r,n.C_BLOCK_COMMENT_MODE,o,c],b={ -variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{ -beginKeywords:"new throw return else",end:/;/}],keywords:m,contains:g.concat([{ -begin:/\(/,end:/\)/,keywords:m,contains:g.concat(["self"]),relevance:0}]), -relevance:0},f={className:"function",begin:"("+i+"[\\*&\\s]+)+"+u, -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/, -contains:[{begin:"decltype\\(auto\\)",keywords:m,relevance:0},{begin:u, -returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/, -endsWithParent:!0,contains:[c,o]},{className:"params",begin:/\(/,end:/\)/, -keywords:m,relevance:0,contains:[r,n.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/, -end:/\)/,keywords:m,relevance:0,contains:["self",r,n.C_BLOCK_COMMENT_MODE,c,o,s] -}]},s,r,n.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", -aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:m,illegal:"",keywords:m,contains:["self",s]},{begin:n.IDENT_RE+"::",keywords:m},{ -className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/, -contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{ -preprocessor:l,strings:c,keywords:m}}}})()); -hljs.registerLanguage("csharp",(()=>{"use strict";return e=>{const n={ -keyword:["abstract","as","base","break","case","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), -built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], -literal:["default","false","null","true"]},a=e.inherit(e.TITLE_MODE,{ -begin:"[a-zA-Z](\\.?\\w)*"}),i={className:"number",variants:[{ -begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] -},t=e.inherit(s,{illegal:/\n/}),r={className:"subst",begin:/\{/,end:/\}/, -keywords:n},l=e.inherit(r,{illegal:/\n/}),c={className:"string",begin:/\$"/, -end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ -},e.BACKSLASH_ESCAPE,l]},o={className:"string",begin:/\$@"/,end:'"',contains:[{ -begin:/\{\{/},{begin:/\}\}/},{begin:'""'},r]},d=e.inherit(o,{illegal:/\n/, -contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]}) -;r.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.C_BLOCK_COMMENT_MODE], -l.contains=[d,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,i,e.inherit(e.C_BLOCK_COMMENT_MODE,{ -illegal:/\n/})];const g={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},a] -},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={ -begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], -keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, -contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ -begin:"\x3c!--|--\x3e"},{begin:""}]}] -}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", -end:"$",keywords:{ -"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum" -}},g,i,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, -illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" -},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", -relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", -begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ -className:"meta-string",begin:/"/,end:/"/}]},{ -beginKeywords:"new return throw await else",relevance:0},{className:"function", -begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, -end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", -relevance:0},{begin:e.IDENT_RE+"\\s*(<.+>\\s*)?\\(",returnBegin:!0, -contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/, -excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, -contains:[g,i,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}})()); -hljs.registerLanguage("css",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() -;return n=>{const a=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", -case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, -classNameAliases:{keyframePosition:"selector-tag"}, -contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ -},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 -},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 -},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ -begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ -className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", -contains:[a.HEXCOLOR,a.IMPORTANT,n.CSS_NUMBER_MODE,...l,{ -begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" -},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] -},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ -begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), -end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", -begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, -relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", -attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" -},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag", -begin:"\\b("+e.join("|")+")\\b"}]};var s}})()); -hljs.registerLanguage("diff",(()=>{"use strict";return e=>({name:"Diff", -aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{ -begin:/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{ -begin:/^--- +\d+,\d+ +----$/}]},{className:"comment",variants:[{begin:/Index: /, -end:/$/},{begin:/^index/,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^-{3}/,end:/$/ -},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/},{ -begin:/^diff --git/,end:/$/}]},{className:"addition",begin:/^\+/,end:/$/},{ -className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, -end:/$/}]})})()); -hljs.registerLanguage("go",(()=>{"use strict";return e=>{const n={ -keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune", -literal:"true false iota nil", -built_in:"append cap close complex copy imag len make new panic print println real recover delete" -};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{"use strict";function e(...e){ -return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n -})).join("")}return n=>{const a="HTTP/(2|1\\.[01])",s={className:"attribute", -begin:e("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{ -className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]} -},t=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{ -name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})", -end:/$/,contains:[{className:"meta",begin:a},{className:"number", -begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:t}},{ -begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string", -begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{ -className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:t} -},n.inherit(s,{relevance:0})]}}})()); -hljs.registerLanguage("ini",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}return s=>{const a={className:"number", -relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:s.NUMBER_RE}] -},i=s.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const t={ -className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ -}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={ -className:"string",contains:[s.BACKSLASH_ESCAPE],variants:[{begin:"'''", -end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' -},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,a,"self"], -relevance:0 -},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map((n=>e(n))).join("|")+")" -;return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, -contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{ -begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr", -starts:{end:/$/,contains:[i,c,r,t,l,a]}}]}}})()); -hljs.registerLanguage("java",(()=>{"use strict" -;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ -className:"number",variants:[{ -begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ -begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};return e=>{ -var n="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s={ -className:"meta",begin:"@[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", -contains:[{begin:/\(/,end:/\)/,contains:["self"]}]};const r=a;return{ -name:"Java",aliases:["jsp"],keywords:n,illegal:/<\/|#/, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, -relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ -begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ -className:"class",beginKeywords:"class interface enum",end:/[{;=]/, -excludeEnd:!0,relevance:1,keywords:"class interface enum",illegal:/[:"\[\]]/, -contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"new throw return else",relevance:0},{className:"class", -begin:"record\\s+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,excludeEnd:!0, -end:/[{;=]/,keywords:n,contains:[{beginKeywords:"record"},{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, -keywords:n,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"function", -begin:"([\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(<[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*(\\s*,\\s*[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(", -returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/, -keywords:n,relevance:0, -contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,r,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},r,s]}}})()); -hljs.registerLanguage("javascript",(()=>{"use strict" -;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;function r(e){return t("(?=",e,")")}function t(...e){return e.map((e=>{ -return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ -const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, -isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,s=e.input[a] -;"<"!==s?">"===s&&(((e,{after:n})=>{const a="", -returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ -begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 -},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] -},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ -variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, -end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, -contains:["self"]}]}],relevance:0},{className:"function", -beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, -contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),p],illegal:/%/},{ -beginKeywords:"while if switch catch for"},{className:"function", -begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,contains:[p,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ -begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", -beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ -beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, -end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",p] -},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", -contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},p]},{begin:/\$[(.]/}] -}}})()); -hljs.registerLanguage("json",(()=>{"use strict";return n=>{const e={ -literal:"true false null" -},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],a=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],l={ -end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},t={begin:/\{/, -end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/, -contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(l,{begin:/:/ -})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(l)], -illegal:"\\S"};return a.push(t,s),i.forEach((n=>{a.push(n)})),{name:"JSON", -contains:a,keywords:e,illegal:"\\S"}}})()); -hljs.registerLanguage("kotlin",(()=>{"use strict" -;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ -className:"number",variants:[{ -begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ -begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};return e=>{const n={ -keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", -built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", -literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" -},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ -className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", -variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", -illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, -contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ -className:"meta", -begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" -},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, -end:/\)/,contains:[e.inherit(r,{className:"meta-string"})]}] -},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ -variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, -contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], -{name:"Kotlin",aliases:["kt","kts"],keywords:n, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", -begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", -begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", -begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", -returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, -keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, -endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, -endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 -},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{className:"class", -beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, -illegal:"extends implements",contains:[{ -beginKeywords:"public protected internal private constructor" -},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, -excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/, -excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", -end:"$",illegal:"\n"},o]}}})()); -hljs.registerLanguage("less",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],n=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse(),r=i.concat(o) -;return a=>{const s=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(a),l=r,d="([\\w-]+|@\\{[\\w-]+\\})",c=[],g=[],b=e=>({className:"string", -begin:"~?"+e+".*?"+e}),m=(e,t,i)=>({className:e,begin:t,relevance:i}),u={ -$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},p={ -begin:"\\(",end:"\\)",contains:g,keywords:u,relevance:0} -;g.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b("'"),b('"'),a.CSS_NUMBER_MODE,{ -begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", -excludeEnd:!0} -},s.HEXCOLOR,p,m("variable","@@?[\\w-]+",10),m("variable","@\\{[\\w-]+\\}"),m("built_in","~?`[^`]*?`"),{ -className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 -},s.IMPORTANT);const f=g.concat({begin:/\{/,end:/\}/,contains:c}),h={ -beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not" -}].concat(g)},w={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0, -contains:[{begin:/-(webkit|moz|ms|o)-/},{className:"attribute", -begin:"\\b("+n.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0, -illegal:"[<=$]",relevance:0,contains:g}}]},v={className:"keyword", -begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", -starts:{end:"[;{}]",keywords:u,returnEnd:!0,contains:g,relevance:0}},y={ -className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ -begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:f}},k={variants:[{ -begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0, -returnEnd:!0,illegal:"[<='$\"]",relevance:0, -contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,h,m("keyword","all\\b"),m("variable","@\\{[\\w-]+\\}"),{ -begin:"\\b("+e.join("|")+")\\b",className:"selector-tag" -},m("selector-tag",d+"%?",0),m("selector-id","#"+d),m("selector-class","\\."+d,0),m("selector-tag","&",0),s.ATTRIBUTE_SELECTOR_MODE,{ -className:"selector-pseudo",begin:":("+i.join("|")+")"},{ -className:"selector-pseudo",begin:"::("+o.join("|")+")"},{begin:"\\(",end:"\\)", -contains:f},{begin:"!important"}]},E={begin:`[\\w-]+:(:)?(${l.join("|")})`, -returnBegin:!0,contains:[k]} -;return c.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,v,y,E,w,k),{ -name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:c}}})()); -hljs.registerLanguage("lua",(()=>{"use strict";return e=>{ -const t="\\[=*\\[",a="\\]=*\\]",n={begin:t,end:a,contains:["self"] -},o=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",a,{contains:[n], -relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, -literal:"true false nil", -keyword:"and break do else elseif end for goto if in local not or repeat return then until while", -built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" -},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)", -contains:[e.inherit(e.TITLE_MODE,{ -begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", -begin:"\\(",endsWithParent:!0,contains:o}].concat(o) -},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", -begin:t,end:a,contains:[n],relevance:5}])}}})()); -hljs.registerLanguage("makefile",(()=>{"use strict";return e=>{const i={ -className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} -function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const t=a(/[A-Z_]/,a("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ -className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/, -contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] -},c=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ -className:"meta-string"}),g=e.inherit(e.QUOTE_STRING_MODE,{ -className:"meta-string"}),m={endsWithParent:!0,illegal:/`]+/}]}] -}]};return{name:"HTML, XML", -aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], -case_insensitive:!0,contains:[{className:"meta",begin://, -relevance:10,contains:[r,g,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta", -begin://,contains:[r,c,g,l]}]}]},e.COMMENT(//,{ -relevance:10}),{begin://,relevance:10},i,{ -className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ -end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ -end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ -className:"tag",begin:/<>|<\/>/},{className:"tag", -begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", -begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), -contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, -endsParent:!0}]}]}}})()); -hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ -return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e -})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", -subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 -},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, -relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), -relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ -begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ -className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, -returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", -end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], -variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ -className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ -begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) -;let t=[a,i] -;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), -t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ -className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ -begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", -contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", -end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, -end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ -begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ -begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", -contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ -begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ -className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ -className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})()); -hljs.registerLanguage("nginx",(()=>{"use strict";return e=>{const n={ -className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/\}/},{ -begin:/[$@]/+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,keywords:{ -$pattern:"[a-z/_]+", -literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll" -},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string", -contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/ -}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[n] -},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"\\s\\^", -end:"\\s|\\{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|\\{|;",returnEnd:!0},{ -begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number", -begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{ -className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},n]};return{ -name:"Nginx config",aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{ -begin:e.UNDERSCORE_IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\{/,contains:[{ -className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{ -begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|\\{",returnBegin:!0,contains:[{ -className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}], -illegal:"[^\\s\\}]"}}})()); -hljs.registerLanguage("objectivec",(()=>{"use strict";return e=>{ -const n=/[a-zA-Z@][a-zA-Z0-9_]*/,_={$pattern:n, -keyword:"@interface @class @protocol @implementation"};return{ -name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], -keywords:{$pattern:n, -keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN", -literal:"false true FALSE TRUE nil YES NO NULL", -built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once" -},illegal:"/,end:/$/, -illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -className:"class",begin:"("+_.keyword.split(" ").join("|")+")\\b",end:/(\{|$)/, -excludeEnd:!0,keywords:_,contains:[e.UNDERSCORE_TITLE_MODE]},{ -begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}})()); -hljs.registerLanguage("perl",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const r=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/, -keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" -},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},a={begin:/->\{/, -end:/\}/},o={variants:[{begin:/\$\d/},{ -begin:n(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") -},{begin:/[$%@][^\s\w{]/,relevance:0}] -},c=[e.BACKSLASH_ESCAPE,i,o],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,s="\\1")=>{ -const i="\\1"===s?s:n(s,t) -;return n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,s,r) -},d=(e,t,s)=>n(n("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,s,r),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ -endsWithParent:!0}),a,{className:"string",contains:c,variants:[{ -begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", -end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ -begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", -relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", -contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ -begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", -begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", -relevance:0},{ -begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", -keywords:"split return print reverse grep",relevance:0, -contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ -begin:l("s|tr|y",t(...g))},{begin:l("s|tr|y","\\(","\\)")},{ -begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{ -className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ -begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",t(...g),/\1/)},{ -begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ -begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", -end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ -begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", -subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] -}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:s, -contains:p}}})()); -hljs.registerLanguage("php",(()=>{"use strict";return e=>{const r={ -className:"variable", -begin:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?![A-Za-z0-9])(?![$])"},t={ -className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{ -begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/, -end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null -}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null, -contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({ -begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, -contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string", -contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'" -}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},s={className:"number",variants:[{ -begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{ -begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{ -begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?" -}],relevance:0},c={ -keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield", -literal:"false null true", -built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass" -};return{aliases:["php3","php4","php5","php6","php7","php8"], -case_insensitive:!0,keywords:c, -contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t] -}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}] -}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0, -keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{ -begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function", -relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0, -illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{ -begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0,keywords:c, -contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,s]}]},{className:"class",variants:[{ -beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", -illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ -beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, -contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";", -contains:[e.UNDERSCORE_TITLE_MODE]},l,s]}}})()); -hljs.registerLanguage("php-template",(()=>{"use strict";return n=>({ -name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/, -subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"', -end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},n.inherit(n.APOS_STRING_MODE,{ -illegal:null,className:null,contains:null,skip:!0 -}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null, -skip:!0})]}]})})()); -hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ -name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})()); -hljs.registerLanguage("properties",(()=>{"use strict";return e=>{ -var n="[ \\t\\f]*",a=n+"[:=]"+n,t="("+a+"|[ \\t\\f]+)",r="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={ -end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{ -begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties", -case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{ -returnBegin:!0,variants:[{begin:r+a,relevance:1},{begin:r+"[ \\t\\f]+", -relevance:0}],contains:[{className:"attr",begin:r,endsParent:!0,relevance:0}], -starts:i},{begin:s+t,returnBegin:!0,relevance:0,contains:[{className:"meta", -begin:s,endsParent:!0,relevance:0}],starts:i},{className:"attr",relevance:0, -begin:s+n+"$"}]}}})()); -hljs.registerLanguage("python",(()=>{"use strict";return e=>{const n={ -$pattern:/[A-Za-z]\w+|__\w+__/, -keyword:["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"], -built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], -literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], -type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] -},a={className:"meta",begin:/^(>>>|\.\.\.) /},i={className:"subst",begin:/\{/, -end:/\}/,keywords:n,illegal:/#/},s={begin:/\{\{/,relevance:0},t={ -className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, -contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{ -begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, -end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,i]},{begin:/([uU]|[rR])'/,end:/'/, -relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ -begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, -end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, -contains:[e.BACKSLASH_ESCAPE,s,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,s,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},r="[0-9](_?[0-9])*",l=`(\\b(${r}))?\\.(${r})|\\b(${r})\\.`,b={ -className:"number",relevance:0,variants:[{ -begin:`(\\b(${r})|(${l}))[eE][+-]?(${r})[jJ]?\\b`},{begin:`(${l})[jJ]?`},{ -begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{ -begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{ -begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${r})[jJ]\\b`}]},o={ -className:"comment", -begin:(d=/# type:/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",d,")")), -end:/$/,keywords:n,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/, -endsWithParent:!0}]},c={className:"params",variants:[{className:"", -begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0, -keywords:n,contains:["self",a,b,t,e.HASH_COMMENT_MODE]}]};var d -;return i.contains=[t,b,a],{name:"Python",aliases:["py","gyp","ipython"], -keywords:n,illegal:/(<\/|->|\?)|=>/,contains:[a,b,{begin:/\bself\b/},{ -beginKeywords:"if",relevance:0},t,o,e.HASH_COMMENT_MODE,{variants:[{ -className:"function",beginKeywords:"def"},{className:"class", -beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/, -contains:[e.UNDERSCORE_TITLE_MODE,c,{begin:/->/,endsWithParent:!0,keywords:n}] -},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,c,t]}]}}})()); -hljs.registerLanguage("python-repl",(()=>{"use strict";return s=>({ -aliases:["pycon"],contains:[{className:"meta",starts:{end:/ |$/,starts:{end:"$", -subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{ -begin:/^\.\.\.(?=[ ]|$)/}]}]})})()); -hljs.registerLanguage("r",(()=>{"use strict";function e(...e){return e.map((e=>{ -return(a=e)?"string"==typeof a?a:a.source:null;var a})).join("")}return a=>{ -const n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/;return{name:"R", -illegal:/->/,keywords:{$pattern:n, -keyword:"function if in break next repeat else for while", -literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", -built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" -},compilerExtensions:[(a,n)=>{if(!a.beforeMatch)return -;if(a.starts)throw Error("beforeMatch cannot be used with starts") -;const i=Object.assign({},a);Object.keys(a).forEach((e=>{delete a[e] -})),a.begin=e(i.beforeMatch,e("(?=",i.begin,")")),a.starts={relevance:0, -contains:[Object.assign(i,{endsParent:!0})]},a.relevance=0,delete i.beforeMatch -}],contains:[a.COMMENT(/#'/,/$/,{contains:[{className:"doctag", -begin:"@examples",starts:{contains:[{begin:/\n/},{begin:/#'\s*(?=@[a-zA-Z]+)/, -endsParent:!0},{begin:/#'/,end:/$/,excludeBegin:!0}]}},{className:"doctag", -begin:"@param",end:/$/,contains:[{className:"variable",variants:[{begin:n},{ -begin:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{className:"doctag", -begin:/@[a-zA-Z]+/},{className:"meta-keyword",begin:/\\[a-zA-Z]+/}] -}),a.HASH_COMMENT_MODE,{className:"string",contains:[a.BACKSLASH_ESCAPE], -variants:[a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ -}),a.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', -relevance:0},{begin:"'",end:"'",relevance:0}]},{className:"number",relevance:0, -beforeMatch:/([^a-zA-Z0-9._])/,variants:[{ -match:/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/},{ -match:/0[xX][0-9a-fA-F]+([pP][+-]?\d+)?[Li]?/},{ -match:/(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?[Li]?/}]},{begin:"%",end:"%"},{ -begin:e(/[a-zA-Z][a-zA-Z_0-9]*/,"\\s+<-\\s+")},{begin:"`",end:"`",contains:[{ -begin:/\\./}]}]}}})()); -hljs.registerLanguage("ruby",(()=>{"use strict";function e(...e){ -return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n -})).join("")}return n=>{ -const a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={ -keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__", -built_in:"proc lambda",literal:"true false nil"},s={className:"doctag", -begin:"@[A-Za-z]+"},r={begin:"#<",end:">"},b=[n.COMMENT("#","$",{contains:[s] -}),n.COMMENT("^=begin","^=end",{contains:[s],relevance:10 -}),n.COMMENT("^__END__","\\n$")],c={className:"subst",begin:/#\{/,end:/\}/, -keywords:i},t={className:"string",contains:[n.BACKSLASH_ESCAPE,c],variants:[{ -begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/, -end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{ -begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/, -end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{ -begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{ -begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ -begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ -begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ -begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:!0,contains:[{ -begin:/<<[-~]?'?/},n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, -contains:[n.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",d={className:"number", -relevance:0,variants:[{ -begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ -begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" -},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ -begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ -begin:"\\b0(_?[0-7])+r?i?\\b"}]},l={className:"params",begin:"\\(",end:"\\)", -endsParent:!0,keywords:i},o=[t,{className:"class",beginKeywords:"class module", -end:"$|;",illegal:/=/,contains:[n.inherit(n.TITLE_MODE,{ -begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{ -begin:"("+n.IDENT_RE+"::)?"+n.IDENT_RE,relevance:0}]}].concat(b)},{ -className:"function",begin:e(/def\s+/,(_=a+"\\s*(\\(|;|$)",e("(?=",_,")"))), -relevance:0,keywords:"def",end:"$|;",contains:[n.inherit(n.TITLE_MODE,{begin:a -}),l].concat(b)},{begin:n.IDENT_RE+"::"},{className:"symbol", -begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", -begin:":(?!\\s)",contains:[t,{begin:a}],relevance:0},d,{className:"variable", -begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ -className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{ -begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{ -className:"regexp",contains:[n.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{ -begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(", -end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}] -}].concat(r,b),relevance:0}].concat(r,b);var _;c.contains=o,l.contains=o -;const E=[{begin:/^\s*=>/,starts:{end:"$",contains:o}},{className:"meta", -begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", -starts:{end:"$",contains:o}}];return b.unshift(r),{name:"Ruby", -aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/, -contains:[n.SHEBANG({binary:"ruby"})].concat(E).concat(b).concat(o)}}})()); -hljs.registerLanguage("rust",(()=>{"use strict";return e=>{ -const n="([ui](8|16|32|64|128|size)|f(32|64))?",t="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!" -;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?", -keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield", -literal:"true false Some None Ok Err",built_in:t},illegal:""}]}}})()); -hljs.registerLanguage("scss",(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() -;return a=>{const n=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, -HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, -ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, -illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} -}))(a),l=o,s=i,d="@[a-z-]+",c={className:"variable", -begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"};return{name:"SCSS",case_insensitive:!0, -illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{ -className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ -className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 -},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", -begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo", -begin:":("+s.join("|")+")"},{className:"selector-pseudo", -begin:"::("+l.join("|")+")"},c,{begin:/\(/,end:/\)/,contains:[a.CSS_NUMBER_MODE] -},{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{ -begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" -},{begin:":",end:";", -contains:[c,n.HEXCOLOR,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.IMPORTANT] -},{begin:"@(page|font-face)",lexemes:d,keywords:"@page @font-face"},{begin:"@", -end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, -keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:d, -className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" -},c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.HEXCOLOR,a.CSS_NUMBER_MODE]}]}} -})()); -hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ -name:"Shell Session",aliases:["console"],contains:[{className:"meta", -begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,starts:{end:/[^\\](?=\s*$)/, -subLanguage:"bash"}}]})})()); -hljs.registerLanguage("sql",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function r(...r){ -return r.map((r=>e(r))).join("")}function t(...r){ -return"("+r.map((r=>e(r))).join("|")+")"}return e=>{ -const n=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],s=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],o=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],c=s,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update ","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!s.includes(e))),u={ -begin:r(/\b/,t(...c),/\s*\(/),keywords:{built_in:c}};return{name:"SQL", -case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/, -keyword:((e,{exceptions:r,when:t}={})=>{const n=t -;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:n(e)?e+"|0":e)) -})(l,{when:e=>e.length<3}),literal:a,type:i, -built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] -},contains:[{begin:t(...o),keywords:{$pattern:/[\w\.]+/,keyword:l.concat(o), -literal:a,type:i}},{className:"type", -begin:t("double precision","large object","with timezone","without timezone") -},u,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ -begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ -begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{className:"operator", -begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}})()); -hljs.registerLanguage("swift",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} -function a(...n){return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"} -const i=e=>a(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=["Protocol","Type"].map(i),u=["init","self"].map(i),c=["Any","Self"],r=["associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],o=["false","nil","true"],l=["assignment","associativity","higherThan","left","lowerThan","none","right"],m=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],d=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],p=t(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),F=t(p,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),b=a(p,F,"*"),h=t(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),f=t(h,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=a(h,f,"*"),y=a(/[A-Z]/,f,"*"),g=["autoclosure",a(/convention\(/,t("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",a(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","testable","UIApplicationMain","unknown","usableFromInline"],E=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] -;return e=>{const p={match:/\s+/,relevance:0},h=e.COMMENT("/\\*","\\*/",{ -contains:["self"]}),v=[e.C_LINE_COMMENT_MODE,h],N={className:"keyword", -begin:a(/\./,n(t(...s,...u))),end:t(...s,...u),excludeBegin:!0},A={ -match:a(/\./,t(...r)),relevance:0 -},C=r.filter((e=>"string"==typeof e)).concat(["_|0"]),_={variants:[{ -className:"keyword", -match:t(...r.filter((e=>"string"!=typeof e)).concat(c).map(i),...u)}]},D={ -$pattern:t(/\b\w+/,/#\w+/),keyword:C.concat(m),literal:o},B=[N,A,_],k=[{ -match:a(/\./,t(...d)),relevance:0},{className:"built_in", -match:a(/\b/,t(...d),/(?=\()/)}],M={match:/->/,relevance:0},S=[M,{ -className:"operator",relevance:0,variants:[{match:b},{match:`\\.(\\.|${F})+`}] -}],x="([0-9a-fA-F]_*)+",I={className:"number",relevance:0,variants:[{ -match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ -match:`\\b0x(${x})(\\.(${x}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ -match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},O=(e="")=>({ -className:"subst",variants:[{match:a(/\\/,e,/[0\\tnr"']/)},{ -match:a(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),T=(e="")=>({className:"subst", -match:a(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),L=(e="")=>({className:"subst", -label:"interpol",begin:a(/\\/,e,/\(/),end:/\)/}),P=(e="")=>({begin:a(e,/"""/), -end:a(/"""/,e),contains:[O(e),T(e),L(e)]}),$=(e="")=>({begin:a(e,/"/), -end:a(/"/,e),contains:[O(e),L(e)]}),K={className:"string", -variants:[P(),P("#"),P("##"),P("###"),$(),$("#"),$("##"),$("###")]},j={ -match:a(/`/,w,/`/)},z=[j,{className:"variable",match:/\$\d+/},{ -className:"variable",match:`\\$${f}+`}],q=[{match:/(@|#)available/, -className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:E, -contains:[...S,I,K]}]}},{className:"keyword",match:a(/@/,t(...g))},{ -className:"meta",match:a(/@/,w)}],U={match:n(/\b[A-Z]/),relevance:0,contains:[{ -className:"type", -match:a(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,f,"+") -},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{ -match:/\.\.\./,relevance:0},{match:a(/\s+&\s+/,n(y)),relevance:0}]},Z={ -begin://,keywords:D,contains:[...v,...B,...q,M,U]};U.contains.push(Z) -;const G={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:["self",{ -match:a(w,/\s*:/),keywords:"_|0",relevance:0 -},...v,...B,...k,...S,I,K,...z,...q,U]},H={beginKeywords:"func",contains:[{ -className:"title",match:t(j.match,w,b),endsParent:!0,relevance:0},p]},R={ -begin://,contains:[...v,U]},V={begin:/\(/,end:/\)/,keywords:D, -contains:[{begin:t(n(a(w,/\s*:/)),n(a(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0, -contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}] -},...v,...B,...S,I,K,...q,U,G],endsParent:!0,illegal:/["']/},W={ -className:"function",match:n(/\bfunc\b/),contains:[H,R,V,p],illegal:[/\[/,/%/] -},X={className:"function",match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{ -keyword:"subscript init init? init!",$pattern:/\w+[?!]?/},contains:[R,V,p], -illegal:/\[|%/},J={beginKeywords:"operator",end:e.MATCH_NOTHING_RE,contains:[{ -className:"title",match:b,endsParent:!0,relevance:0}]},Q={ -beginKeywords:"precedencegroup",end:e.MATCH_NOTHING_RE,contains:[{ -className:"title",match:y,relevance:0},{begin:/{/,end:/}/,relevance:0, -endsParent:!0,keywords:[...l,...o],contains:[U]}]};for(const e of K.variants){ -const n=e.contains.find((e=>"interpol"===e.label));n.keywords=D -;const a=[...B,...k,...S,I,K,...z];n.contains=[...a,{begin:/\(/,end:/\)/, -contains:["self",...a]}]}return{name:"Swift",keywords:D,contains:[...v,W,X,{ -className:"class",beginKeywords:"struct protocol class extension enum", -end:"\\{",excludeEnd:!0,keywords:D,contains:[e.inherit(e.TITLE_MODE,{ -begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...B]},J,Q,{ -beginKeywords:"import",end:/$/,contains:[...v],relevance:0 -},...B,...k,...S,I,K,...z,...q,U,G]}}})()); -hljs.registerLanguage("typescript",(()=>{"use strict" -;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) -;function t(e){return r("(?=",e,")")}function r(...e){return e.map((e=>{ -return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ -const c={$pattern:e, -keyword:n.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]), -literal:a, -built_in:s.concat(["any","void","number","boolean","string","object","never","enum"]) -},o={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},l=(e,n,a)=>{ -const s=e.contains.findIndex((e=>e.label===n)) -;if(-1===s)throw Error("can not find mode to replace");e.contains.splice(s,1,a) -},b=(i=>{const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/, -end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ -const a=e[0].length+e.index,s=e.input[a];"<"!==s?">"===s&&(((e,{after:n})=>{ -const a="", -returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ -begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 -},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] -},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ -variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, -end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, -contains:["self"]}]}],relevance:0},{className:"function", -beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, -contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),A],illegal:/%/},{ -beginKeywords:"while if switch catch for"},{className:"function", -begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,contains:[A,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ -begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", -beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ -beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, -end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",A] -},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", -contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},A]},{begin:/\$[(.]/}] -}})(i) -;return Object.assign(b.keywords,c),b.exports.PARAMS_CONTAINS.push(o),b.contains=b.contains.concat([o,{ -beginKeywords:"namespace",end:/\{/,excludeEnd:!0},{beginKeywords:"interface", -end:/\{/,excludeEnd:!0,keywords:"interface extends" -}]),l(b,"shebang",i.SHEBANG()),l(b,"use_strict",{className:"meta",relevance:10, -begin:/^\s*['"]use strict['"]/ -}),b.contains.find((e=>"function"===e.className)).relevance=0,Object.assign(b,{ -name:"TypeScript",aliases:["ts","tsx"]}),b}})()); -hljs.registerLanguage("vbnet",(()=>{"use strict";function e(e){ -return e?"string"==typeof e?e:e.source:null}function n(...n){ -return n.map((n=>e(n))).join("")}function t(...n){ -return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ -const a=/\d{1,2}\/\d{1,2}\/\d{4}/,i=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,o={ -className:"literal",variants:[{begin:n(/# */,t(i,a),/ *#/)},{ -begin:n(/# */,r,/ *#/)},{begin:n(/# */,s,/ *#/)},{ -begin:n(/# */,t(i,a),/ +/,t(s,r),/ *#/)}]},l=e.COMMENT(/'''/,/$/,{contains:[{ -className:"doctag",begin:/<\/?/,end:/>/}]}),c=e.COMMENT(null,/$/,{variants:[{ -begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET", -aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{ -keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", -built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", -type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", -literal:"true false nothing"}, -illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ -className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, -end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o,{className:"number",relevance:0, -variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ -},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ -begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ -className:"label",begin:/^\w+:/},l,c,{className:"meta", -begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, -end:/$/,keywords:{ -"meta-keyword":"const disable else elseif enable end externalsource if region then" -},contains:[c]}]}}})()); -hljs.registerLanguage("yaml",(()=>{"use strict";return e=>{ -var n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ -className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ -},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", -variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ -end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, -end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", -contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ -begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ -begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", -relevance:10},{className:"string", -begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ -begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, -relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", -begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a -},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", -begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", -relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ -className:"number", -begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" -},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] -;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, -aliases:["yml"],contains:b}}})()); \ No newline at end of file diff --git a/CodeCoverageReport/js/highlightjs-line-numbers.min.js b/CodeCoverageReport/js/highlightjs-line-numbers.min.js deleted file mode 100644 index 854857670..000000000 --- a/CodeCoverageReport/js/highlightjs-line-numbers.min.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -The MIT License (MIT) - -Copyright (c) 2017 Yauheni Pakala - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - */ -!function(r,o){"use strict";var e,i="hljs-ln",l="hljs-ln-line",h="hljs-ln-code",s="hljs-ln-numbers",c="hljs-ln-n",m="data-line-number",a=/\r\n|\r|\n/g;function u(e){for(var n=e.toString(),t=e.anchorNode;"TD"!==t.nodeName;)t=t.parentNode;for(var r=e.focusNode;"TD"!==r.nodeName;)r=r.parentNode;var o=parseInt(t.dataset.lineNumber),a=parseInt(r.dataset.lineNumber);if(o==a)return n;var i,l=t.textContent,s=r.textContent;for(a
{6}',[l,s,c,m,h,o+n.startFrom,0{1}',[i,r])}return e}(e.innerHTML,o)}function v(e){var n=e.className;if(/hljs-/.test(n)){for(var t=g(e.innerHTML),r=0,o="";r{1}
\n',[n,0 - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html deleted file mode 100644 index 06ef68b7f..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 2cd99f9da..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html deleted file mode 100644 index b1a688abc..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index c5fe72ec1..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html deleted file mode 100644 index 67c66b94c..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_LINE.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index a590fb880..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html deleted file mode 100644 index b410bf01b..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index fd3edff8e..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index 2f46f7b3a..000000000 --- a/CodeCoverageReport/ns-1/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,1119 +0,0 @@ - - - - - - Coverage Report > com.google.maps - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps - - 95.3% - - - (61/64) - - - - 79.2% - - - (328/414) - - - - 57.8% - - - (185/320) - - - - 78.1% - - - (823/1054) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
TimeZoneApi - - 100% - - - (2/2) - - - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
TextSearchRequest - - 100% - - - (2/2) - - - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
StaticMapsRequest - - 100% - - - (7/7) - - - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
RoadsApi - - 100% - - - (3/3) - - - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
QueryAutocompleteRequest - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - - 72.5% - - - (29/40) - -
PlaceDetailsRequest - - 100% - - - (3/3) - - - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
PlaceAutocompleteRequest - - 100% - - - (3/3) - - - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
OkHttpRequestHandler - - 100% - - - (2/2) - - - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
NearbySearchRequest - - 100% - - - (2/2) - - - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
ImageResult - - 50% - - - (1/2) - - - - 20% - - - (1/5) - - - - - 50% - - - (4/8) - -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
GeolocationApi - - 100% - - - (2/2) - - - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
GeocodingApi - - 100% - - - (2/2) - - - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
GeoApiContext - - 100% - - - (2/2) - - - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
GaeRequestHandler - - 0% - - - (0/2) - - - - 0% - - - (0/15) - - - - - 0% - - - (0/32) - -
FindPlaceFromTextRequest - - 100% - - - (8/8) - - - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
ElevationApi - - 100% - - - (3/3) - - - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
DistanceMatrixApi - - 100% - - - (2/2) - - - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
DirectionsApiRequest - - 100% - - - (2/2) - - - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
DirectionsApi - - 100% - - - (3/3) - - - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1.html b/CodeCoverageReport/ns-1/sources/source-1.html deleted file mode 100644 index fc8451c94..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - - - - - Coverage Report > DirectionsApi - - - - - - -
- - -

Coverage Summary for Class: DirectionsApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
DirectionsApi - - 75% - - - (3/4) - - - - 75% - - - (3/4) - -
DirectionsApi$Response - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 88.9% - - - (8/9) - -
DirectionsApi$RouteRestriction - - 75% - - - (3/4) - - - - 90% - - - (9/10) - -
Total - - 83.3% - - - (10/12) - - - - 50% - - - (1/2) - - - - 87% - - - (20/23) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.StringJoin.UrlValue;
- import com.google.maps.model.DirectionsResult;
- import com.google.maps.model.DirectionsRoute;
- import com.google.maps.model.GeocodedWaypoint;
- 
- /**
-  * The Google Directions API is a service that calculates directions between locations using an HTTP
-  * request. You can search for directions for several modes of transportation, include transit,
-  * driving, walking, or cycling. Directions may specify origins, destinations, and waypoints, either
-  * as text strings (e.g. "Chicago, IL" or "Darwin, NT, Australia") or as latitude/longitude
-  * coordinates. The Directions API can return multi-part directions using a series of waypoints.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro">the Directions
-  * API Developer's Guide</a> for more information.
-  */
- public class DirectionsApi {
-   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/directions/json");
- 
-   private DirectionsApi() {}
- 
-   /**
-    * Creates a new DirectionsApiRequest using the given context, with all attributes at their
-    * default values.
-    *
-    * @param context Context that the DirectionsApiRequest will be executed against
-    * @return A newly constructed DirectionsApiRequest between the given points.
-    */
-   public static DirectionsApiRequest newRequest(GeoApiContext context) {
-     return new DirectionsApiRequest(context);
-   }
- 
-   /**
-    * Creates a new DirectionsApiRequest between the given origin and destination, using the defaults
-    * for all other options.
-    *
-    * @param context Context that the DirectionsApiRequest will be executed against
-    * @param origin Origin address as text
-    * @param destination Destination address as text
-    * @return A newly constructed DirectionsApiRequest between the given points.
-    */
-   public static DirectionsApiRequest getDirections(
-       GeoApiContext context, String origin, String destination) {
-     return new DirectionsApiRequest(context).origin(origin).destination(destination);
-   }
- 
-   public static class Response implements ApiResponse<DirectionsResult> {
-     public String status;
-     public String errorMessage;
-     public GeocodedWaypoint[] geocodedWaypoints;
-     public DirectionsRoute[] routes;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status);
-     }
- 
-     @Override
-     public DirectionsResult getResult() {
-       DirectionsResult result = new DirectionsResult();
-       result.geocodedWaypoints = geocodedWaypoints;
-       result.routes = routes;
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- 
-   /**
-    * Directions may be calculated that adhere to certain restrictions. This is configured by calling
-    * {@link com.google.maps.DirectionsApiRequest#avoid} or {@link
-    * com.google.maps.DistanceMatrixApiRequest#avoid}.
-    *
-    * @see <a href="https://developers.google.com/maps/documentation/directions/intro#Restrictions">
-    *     Restrictions in the Directions API</a>
-    * @see <a
-    *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters">
-    *     Distance Matrix API Request Parameters</a>
-    */
-   public enum RouteRestriction implements UrlValue {
- 
-     /** Indicates that the calculated route should avoid toll roads/bridges. */
-     TOLLS("tolls"),
- 
-     /** Indicates that the calculated route should avoid highways. */
-     HIGHWAYS("highways"),
- 
-     /** Indicates that the calculated route should avoid ferries. */
-     FERRIES("ferries"),
- 
-     /** Indicates that the calculated route should avoid indoor areas. */
-     INDOOR("indoor");
- 
-     private final String restriction;
- 
-     RouteRestriction(String restriction) {
-       this.restriction = restriction;
-     }
- 
-     @Override
-     public String toString() {
-       return restriction;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return restriction;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-10.html b/CodeCoverageReport/ns-1/sources/source-10.html deleted file mode 100644 index ce444c1fe..000000000 --- a/CodeCoverageReport/ns-1/sources/source-10.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - Coverage Report > OkHttpRequestHandler - - - - - - -
- - -

Coverage Summary for Class: OkHttpRequestHandler (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
OkHttpRequestHandler - - 100% - - - (5/5) - - - - 100% - - - (4/4) - - - - 100% - - - (21/21) - -
OkHttpRequestHandler$Builder - - 30% - - - (3/10) - - - - 44.1% - - - (15/34) - -
Total - - 53.3% - - - (8/15) - - - - 100% - - - (4/4) - - - - 65.5% - - - (36/55) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.GeoApiContext.RequestHandler;
- import com.google.maps.android.AndroidAuthenticationConfig;
- import com.google.maps.android.AndroidAuthenticationConfigProvider;
- import com.google.maps.android.AndroidAuthenticationInterceptor;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.ExceptionsAllowedToRetry;
- import com.google.maps.internal.OkHttpPendingResult;
- import com.google.maps.internal.RateLimitExecutorService;
- import com.google.maps.metrics.RequestMetrics;
- import java.net.Proxy;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.TimeUnit;
- import okhttp3.Credentials;
- import okhttp3.Dispatcher;
- import okhttp3.MediaType;
- import okhttp3.OkHttpClient;
- import okhttp3.Request;
- import okhttp3.RequestBody;
- 
- /**
-  * A strategy for handling URL requests using OkHttp.
-  *
-  * @see com.google.maps.GeoApiContext.RequestHandler
-  */
- public class OkHttpRequestHandler implements GeoApiContext.RequestHandler {
-   private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
-   private final OkHttpClient client;
-   private final ExecutorService executorService;
- 
-   /* package */ OkHttpRequestHandler(OkHttpClient client, ExecutorService executorService) {
-     this.client = client;
-     this.executorService = executorService;
-   }
- 
-   @Override
-   public <T, R extends ApiResponse<T>> PendingResult<T> handle(
-       String hostName,
-       String url,
-       Map<String, String> headers,
-       Class<R> clazz,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeout,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     Request.Builder builder = new Request.Builder().get();
-     for (Entry<String, String> entry : headers.entrySet()) {
-       builder = builder.header(entry.getKey(), entry.getValue());
-     }
-     Request req = builder.url(hostName + url).build();
- 
-     return new OkHttpPendingResult<>(
-         req,
-         client,
-         clazz,
-         fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         metrics);
-   }
- 
-   @Override
-   public <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
-       String hostName,
-       String url,
-       String payload,
-       Map<String, String> headers,
-       Class<R> clazz,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeout,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     RequestBody body = RequestBody.create(JSON, payload);
-     Request.Builder builder = new Request.Builder().post(body);
-     for (Entry<String, String> entry : headers.entrySet()) {
-       builder = builder.header(entry.getKey(), entry.getValue());
-     }
-     Request req = builder.url(hostName + url).build();
- 
-     return new OkHttpPendingResult<>(
-         req,
-         client,
-         clazz,
-         fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         metrics);
-   }
- 
-   @Override
-   public void shutdown() {
-     executorService.shutdown();
-     client.connectionPool().evictAll();
-   }
- 
-   /** Builder strategy for constructing an {@code OkHTTPRequestHandler}. */
-   public static class Builder implements GeoApiContext.RequestHandler.Builder {
-     private final OkHttpClient.Builder builder;
-     private final RateLimitExecutorService rateLimitExecutorService;
-     private final Dispatcher dispatcher;
- 
-     public Builder() {
-       builder = new OkHttpClient.Builder();
-       rateLimitExecutorService = new RateLimitExecutorService();
-       dispatcher = new Dispatcher(rateLimitExecutorService);
-       builder.dispatcher(dispatcher);
- 
-       final AndroidAuthenticationConfigProvider provider =
-           new AndroidAuthenticationConfigProvider();
-       final AndroidAuthenticationConfig config = provider.provide();
-       builder.addInterceptor(new AndroidAuthenticationInterceptor(config));
-     }
- 
-     @Override
-     public Builder connectTimeout(long timeout, TimeUnit unit) {
-       builder.connectTimeout(timeout, unit);
-       return this;
-     }
- 
-     @Override
-     public Builder readTimeout(long timeout, TimeUnit unit) {
-       builder.readTimeout(timeout, unit);
-       return this;
-     }
- 
-     @Override
-     public Builder writeTimeout(long timeout, TimeUnit unit) {
-       builder.writeTimeout(timeout, unit);
-       return this;
-     }
- 
-     @Override
-     public Builder queriesPerSecond(int maxQps) {
-       dispatcher.setMaxRequests(maxQps);
-       dispatcher.setMaxRequestsPerHost(maxQps);
-       rateLimitExecutorService.setQueriesPerSecond(maxQps);
-       return this;
-     }
- 
-     @Override
-     public Builder proxy(Proxy proxy) {
-       builder.proxy(proxy);
-       return this;
-     }
- 
-     @Override
-     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
-       final String userName = proxyUserName;
-       final String password = proxyUserPassword;
-       builder.proxyAuthenticator(
-           (route, response) -> {
-             String credential = Credentials.basic(userName, password);
-             return response
-                 .request()
-                 .newBuilder()
-                 .header("Proxy-Authorization", credential)
-                 .build();
-           });
-       return this;
-     }
- 
-     /**
-      * Gets a reference to the OkHttpClient.Builder used to build the OkHttpRequestHandler's
-      * internal OkHttpClient. This allows you to fully customize the OkHttpClient that the resulting
-      * OkHttpRequestHandler will make HTTP requests through.
-      *
-      * @return OkHttpClient.Builder that will produce the OkHttpClient used by the
-      *     OkHttpRequestHandler built by this.
-      */
-     public OkHttpClient.Builder okHttpClientBuilder() {
-       return builder;
-     }
- 
-     @Override
-     public RequestHandler build() {
-       OkHttpClient client = builder.build();
-       return new OkHttpRequestHandler(client, rateLimitExecutorService);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-11.html b/CodeCoverageReport/ns-1/sources/source-11.html deleted file mode 100644 index e16873f18..000000000 --- a/CodeCoverageReport/ns-1/sources/source-11.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - - Coverage Report > PendingResultBase - - - - - - -
- - -

Coverage Summary for Class: PendingResultBase (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PendingResultBase - - 100% - - - (1/1) - - - - 88.9% - - - (16/18) - - - - 63.6% - - - (14/22) - - - - 78% - - - (39/50) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.HttpHeaders;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- 
- /**
-  * Base implementation for {@code PendingResult}.
-  *
-  * <p>{@code T} is the class of the result, {@code A} is the actual base class of this abstract
-  * class, and R is the type of the request.
-  */
- abstract class PendingResultBase<T, A extends PendingResultBase<T, A, R>, R extends ApiResponse<T>>
-     implements PendingResult<T> {
- 
-   private final GeoApiContext context;
-   private final ApiConfig config;
-   private HashMap<String, List<String>> params = new HashMap<>();
-   private Map<String, String> headers = new HashMap<>();
-   private PendingResult<T> delegate;
-   private Class<? extends R> responseClass;
- 
-   protected PendingResultBase(GeoApiContext context, ApiConfig config, Class<? extends R> clazz) {
-     this.context = context;
-     this.config = config;
-     this.responseClass = clazz;
-   }
- 
-   @Override
-   public final void setCallback(Callback<T> callback) {
-     makeRequest().setCallback(callback);
-   }
- 
-   @Override
-   public final T await() throws ApiException, InterruptedException, IOException {
-     PendingResult<T> request = makeRequest();
-     return request.await();
-   }
- 
-   @Override
-   public final T awaitIgnoreError() {
-     return makeRequest().awaitIgnoreError();
-   }
- 
-   @Override
-   public final void cancel() {
-     if (delegate == null) {
-       return;
-     }
-     delegate.cancel();
-   }
- 
-   private PendingResult<T> makeRequest() {
-     if (delegate != null) {
-       throw new IllegalStateException(
-           "'await', 'awaitIgnoreError' or 'setCallback' was already called.");
-     }
-     validateRequest();
-     switch (config.requestVerb) {
-       case "GET":
-         return delegate = context.get(config, responseClass, headers, params);
-       case "POST":
-         return delegate = context.post(config, responseClass, headers, params);
-       default:
-         throw new IllegalStateException(
-             String.format("Unexpected request method '%s'", config.requestVerb));
-     }
-   }
- 
-   protected abstract void validateRequest();
- 
-   private A getInstance() {
-     @SuppressWarnings("unchecked")
-     A result = (A) this;
-     return result;
-   }
- 
-   /**
-    * Sets the header named {@code key} to {@code value}. If this request already has any headers
-    * with the same key, the value is replaced.
-    *
-    * @param key the header key
-    * @param value the header value
-    * @return this request
-    */
-   public A header(String key, String value) {
-     headers.put(key, value);
-     return getInstance();
-   }
- 
-   /**
-    * Sets the value for the HTTP header field name {@link HttpHeaders#X_GOOG_MAPS_EXPERIENCE_ID}.
-    * Passing null to this method will unset the experienceId header field.
-    *
-    * @param experienceIds The experience IDs
-    */
-   public A experienceIds(String... experienceIds) {
-     if (experienceIds == null || experienceIds.length == 0) {
-       headers.remove(HttpHeaders.X_GOOG_MAPS_EXPERIENCE_ID);
-       return getInstance();
-     }
-     header(HttpHeaders.X_GOOG_MAPS_EXPERIENCE_ID, StringJoin.join(",", experienceIds));
-     return getInstance();
-   }
- 
-   protected A param(String key, String val) {
-     // Enforce singleton parameter semantics for most API surfaces
-     params.put(key, new ArrayList<String>());
-     return paramAddToList(key, val);
-   }
- 
-   protected A param(String key, int val) {
-     return this.param(key, Integer.toString(val));
-   }
- 
-   protected A param(String key, UrlValue val) {
-     if (val != null) {
-       return this.param(key, val.toUrlValue());
-     }
-     return getInstance();
-   }
- 
-   protected A paramAddToList(String key, String val) {
-     // Multiple parameter values required to support Static Maps API paths and markers.
-     if (params.get(key) == null) {
-       params.put(key, new ArrayList<String>());
-     }
-     params.get(key).add(val);
-     return getInstance();
-   }
- 
-   protected A paramAddToList(String key, UrlValue val) {
-     if (val != null) {
-       return this.paramAddToList(key, val.toUrlValue());
-     }
-     return getInstance();
-   }
- 
-   protected Map<String, List<String>> params() {
-     return Collections.unmodifiableMap(params);
-   }
- 
-   /**
-    * The language in which to return results. Note that we often update supported languages so this
-    * list may not be exhaustive.
-    *
-    * @param language The language code, e.g. "en-AU" or "es".
-    * @see <a href="https://developers.google.com/maps/faq#languagesupport">List of supported domain
-    *     languages</a>
-    * @return Returns the request for call chaining.
-    */
-   public final A language(String language) {
-     return param("language", language);
-   }
- 
-   /**
-    * A channel to pass with the request. channel is used by Google Maps API for Work users to be
-    * able to track usage across different applications with the same clientID. See <a
-    * href="https://developers.google.com/maps/documentation/business/clientside/quota">Premium Plan
-    * Usage Rates and Limits</a>.
-    *
-    * @param channel String to pass with the request for analytics.
-    * @return Returns the request for call chaining.
-    */
-   public A channel(String channel) {
-     return param("channel", channel);
-   }
- 
-   /**
-    * Custom parameter. For advanced usage only.
-    *
-    * @param parameter The name of the custom parameter.
-    * @param value The value of the custom parameter.
-    * @return Returns the request for call chaining.
-    */
-   public A custom(String parameter, String value) {
-     return param(parameter, value);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-12.html b/CodeCoverageReport/ns-1/sources/source-12.html deleted file mode 100644 index be58ec6fd..000000000 --- a/CodeCoverageReport/ns-1/sources/source-12.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - Coverage Report > PhotoRequest - - - - - - -
- - -

Coverage Summary for Class: PhotoRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PhotoRequest - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 33.3% - - - (2/6) - - - - 81.8% - - - (9/11) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.internal.ApiConfig;
- 
- /**
-  * A <a href="https://developers.google.com/places/web-service/photos#place_photo_requests">Place
-  * Photo</a> request.
-  */
- public class PhotoRequest
-     extends PendingResultBase<ImageResult, PhotoRequest, ImageResult.Response> {
- 
-   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/place/photo");
- 
-   public PhotoRequest(GeoApiContext context) {
-     super(context, API_CONFIG, ImageResult.Response.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("photoreference")) {
-       throw new IllegalArgumentException("Request must contain 'photoReference'.");
-     }
-     if (!params().containsKey("maxheight") && !params().containsKey("maxwidth")) {
-       throw new IllegalArgumentException("Request must contain 'maxHeight' or 'maxWidth'.");
-     }
-   }
- 
-   /**
-    * Sets the photoReference for this request.
-    *
-    * @param photoReference A string identifier that uniquely identifies a photo. Photo references
-    *     are returned from either a Place Search or Place Details request.
-    * @return Returns the configured PhotoRequest.
-    */
-   public PhotoRequest photoReference(String photoReference) {
-     return param("photoreference", photoReference);
-   }
- 
-   /**
-    * Sets the maxHeight for this request.
-    *
-    * @param maxHeight The maximum desired height, in pixels, of the image returned by the Place
-    *     Photos service.
-    * @return Returns the configured PhotoRequest.
-    */
-   public PhotoRequest maxHeight(int maxHeight) {
-     return param("maxheight", String.valueOf(maxHeight));
-   }
- 
-   /**
-    * Sets the maxWidth for this request.
-    *
-    * @param maxWidth The maximum desired width, in pixels, of the image returned by the Place Photos
-    *     service.
-    * @return Returns the configured PhotoRequest.
-    */
-   public PhotoRequest maxWidth(int maxWidth) {
-     return param("maxwidth", String.valueOf(maxWidth));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-13.html b/CodeCoverageReport/ns-1/sources/source-13.html deleted file mode 100644 index c3593a047..000000000 --- a/CodeCoverageReport/ns-1/sources/source-13.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - - - - Coverage Report > PlaceAutocompleteRequest - - - - - - -
- - -

Coverage Summary for Class: PlaceAutocompleteRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
PlaceAutocompleteRequest - - 92.3% - - - (12/13) - - - - 50% - - - (1/2) - - - - 88.2% - - - (15/17) - -
PlaceAutocompleteRequest$Response - - 75% - - - (3/4) - - - - 16.7% - - - (1/6) - - - - 50% - - - (3/6) - -
PlaceAutocompleteRequest$SessionToken - - 40% - - - (2/5) - - - - 36.4% - - - (4/11) - -
Total - - 77.3% - - - (17/22) - - - - 25% - - - (2/8) - - - - 64.7% - - - (22/34) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.StringJoin.UrlValue;
- import com.google.maps.model.AutocompletePrediction;
- import com.google.maps.model.ComponentFilter;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.PlaceAutocompleteType;
- import java.io.Serializable;
- import java.util.UUID;
- 
- /**
-  * A <a
-  * href="https://developers.google.com/places/web-service/autocomplete#place_autocomplete_requests">Place
-  * Autocomplete</a> request.
-  */
- public class PlaceAutocompleteRequest
-     extends PendingResultBase<
-         AutocompletePrediction[], PlaceAutocompleteRequest, PlaceAutocompleteRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/autocomplete/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- 
-   protected PlaceAutocompleteRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   /** SessionToken represents an Autocomplete session. */
-   public static final class SessionToken implements UrlValue, Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     private UUID uuid;
- 
-     /** This constructor creates a new session. */
-     public SessionToken() {
-       uuid = UUID.randomUUID();
-     }
- 
-     /**
-      * Construct a session that is a continuation of a previous session.
-      *
-      * @param uuid The universally unique identifier for this session.
-      */
-     public SessionToken(UUID uuid) {
-       this.uuid = uuid;
-     }
- 
-     /**
-      * Construct a session that is a continuation of a previous session.
-      *
-      * @param token The unique String to be used as the seed for the session identifier.
-      */
-     public SessionToken(String token) {
-       this.uuid = UUID.nameUUIDFromBytes(token.getBytes());
-     }
- 
-     /**
-      * Retrieve the universally unique identifier for this session. This enables you to recreate the
-      * session token in a later context.
-      *
-      * @return Returns the universally unique identifier for this session.
-      */
-     public UUID getUUID() {
-       return uuid;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return uuid.toString();
-     }
-   }
- 
-   /**
-    * Sets the SessionToken for this request. Using session token makes sure the autocomplete is
-    * priced per session, instead of per keystroke.
-    *
-    * @param sessionToken Session Token is the session identifier.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest sessionToken(SessionToken sessionToken) {
-     return param("sessiontoken", sessionToken);
-   }
- 
-   /**
-    * Sets the text string on which to search. The Places service will return candidate matches based
-    * on this string and order results based on their perceived relevance.
-    *
-    * @param input The input text to autocomplete.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest input(String input) {
-     return param("input", input);
-   }
- 
-   /**
-    * The character position in the input term at which the service uses text for predictions. For
-    * example, if the input is 'Googl' and the completion point is 3, the service will match on
-    * 'Goo'. The offset should generally be set to the position of the text caret. If no offset is
-    * supplied, the service will use the entire term.
-    *
-    * @param offset The character offset position of the user's cursor.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest offset(int offset) {
-     return param("offset", String.valueOf(offset));
-   }
- 
-   /**
-    * The origin point from which to calculate straight-line distance to the destination (returned as
-    * {@link AutocompletePrediction#distanceMeters}). If this value is omitted, straight-line
-    * distance will not be returned.
-    *
-    * @param origin The {@link LatLng} origin point from which to calculate distance.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest origin(LatLng origin) {
-     return param("origin", origin);
-   }
- 
-   /**
-    * The point around which you wish to retrieve place information.
-    *
-    * @param location The {@link LatLng} location to center this autocomplete search.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest location(LatLng location) {
-     return param("location", location);
-   }
- 
-   /**
-    * The distance (in meters) within which to return place results. Note that setting a radius
-    * biases results to the indicated area, but may not fully restrict results to the specified area.
-    *
-    * @param radius The radius over which to bias results.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest radius(int radius) {
-     return param("radius", String.valueOf(radius));
-   }
- 
-   /**
-    * Restricts the results to places matching the specified type.
-    *
-    * @param type The type to restrict results to.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    * @deprecated Please use {@code types} instead.
-    */
-   public PlaceAutocompleteRequest type(PlaceAutocompleteType type) {
-     return this.types(type);
-   }
- 
-   /**
-    * Restricts the results to places matching the specified type.
-    *
-    * @param types The type to restrict results to.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest types(PlaceAutocompleteType types) {
-     return param("types", types);
-   }
- 
-   /**
-    * A grouping of places to which you would like to restrict your results. Currently, you can use
-    * components to filter by country.
-    *
-    * @param filters The component filter to restrict results with.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest components(ComponentFilter... filters) {
-     return param("components", join('|', filters));
-   }
- 
-   /**
-    * StrictBounds returns only those places that are strictly within the region defined by location
-    * and radius. This is a restriction, rather than a bias, meaning that results outside this region
-    * will not be returned even if they match the user input.
-    *
-    * @param strictBounds Whether to strictly bound results.
-    * @return Returns this {@code PlaceAutocompleteRequest} for call chaining.
-    */
-   public PlaceAutocompleteRequest strictBounds(boolean strictBounds) {
-     return param("strictbounds", Boolean.toString(strictBounds));
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("input")) {
-       throw new IllegalArgumentException("Request must contain 'input'.");
-     }
-   }
- 
-   public static class Response implements ApiResponse<AutocompletePrediction[]> {
-     public String status;
-     public AutocompletePrediction predictions[];
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public AutocompletePrediction[] getResult() {
-       return predictions;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-14.html b/CodeCoverageReport/ns-1/sources/source-14.html deleted file mode 100644 index ab66f9d4d..000000000 --- a/CodeCoverageReport/ns-1/sources/source-14.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - - Coverage Report > PlaceDetailsRequest - - - - - - -
- - -

Coverage Summary for Class: PlaceDetailsRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
PlaceDetailsRequest - - 55.6% - - - (5/9) - - - - 50% - - - (1/2) - - - - 61.5% - - - (8/13) - -
PlaceDetailsRequest$FieldMask - - 100% - - - (3/3) - - - - 100% - - - (59/59) - -
PlaceDetailsRequest$Response - - 75% - - - (3/4) - - - - 37.5% - - - (3/8) - - - - 62.5% - - - (5/8) - -
Total - - 68.8% - - - (11/16) - - - - 40% - - - (4/10) - - - - 90% - - - (72/80) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.internal.StringJoin.UrlValue;
- import com.google.maps.model.PlaceDetails;
- 
- /**
-  * A <a href="https://developers.google.com/places/web-service/details#PlaceDetailsRequests">Place
-  * Details</a> request.
-  */
- public class PlaceDetailsRequest
-     extends PendingResultBase<PlaceDetails, PlaceDetailsRequest, PlaceDetailsRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/details/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- 
-   public PlaceDetailsRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   /**
-    * Specifies the Place ID to get Place Details for. Required.
-    *
-    * @param placeId The Place ID to retrieve details for.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest placeId(String placeId) {
-     return param("placeid", placeId);
-   }
- 
-   /**
-    * Sets the SessionToken for this request. Use this for Place Details requests that are called
-    * following an autocomplete request in the same user session. Optional.
-    *
-    * @param sessionToken Session Token is the session identifier.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest sessionToken(PlaceAutocompleteRequest.SessionToken sessionToken) {
-     return param("sessiontoken", sessionToken);
-   }
- 
-   /**
-    * Sets the Region for this request. The region code, specified as a ccTLD (country code top-level
-    * domain) two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some
-    * exceptions. This parameter will only influence, not fully restrict, results.
-    *
-    * @param region The region code.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest region(String region) {
-     return param("region", region);
-   }
- 
-   /**
-    * Specify reviews_no_translations=true to disable translation of reviews. Specify
-    * reviews_no_translations=false (default) to enable translation of reviews.
-    *
-    * @param reviewsNoTranslations Whether to disable translation of reviews.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest reviewsNoTranslations(boolean reviewsNoTranslations) {
-     return param("reviews_no_translations", String.valueOf(reviewsNoTranslations));
-   }
- 
-   /**
-    * Specifies the sorting method to use when returning reviews. Can be set to most_relevant
-    * (default) or newest. Google recommends that you display how the reviews are being sorted to the
-    * end user.
-    *
-    * @param reviewsSort The sorting method to use when returning reviews.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest reviewsSort(String reviewsSort) {
-     return param("reviews_sort", reviewsSort);
-   }
- 
-   /**
-    * Specifies the field masks of the details to be returned by PlaceDetails.
-    *
-    * @param fields The Field Masks of the fields to return.
-    * @return Returns this {@code PlaceDetailsRequest} for call chaining.
-    */
-   public PlaceDetailsRequest fields(FieldMask... fields) {
-     return param("fields", StringJoin.join(',', fields));
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("placeid")) {
-       throw new IllegalArgumentException("Request must contain 'placeId'.");
-     }
-   }
- 
-   public static class Response implements ApiResponse<PlaceDetails> {
-     public String status;
-     public PlaceDetails result;
-     public String[] htmlAttributions;
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public PlaceDetails getResult() {
-       if (result != null) {
-         result.htmlAttributions = htmlAttributions;
-       }
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- 
-   public enum FieldMask implements UrlValue {
-     ADDRESS_COMPONENT("address_component"),
-     ADR_ADDRESS("adr_address"),
-     @Deprecated
-     ALT_ID("alt_id"),
-     BUSINESS_STATUS("business_status"),
-     CURBSIDE_PICKUP("curbside_pickup"),
-     DELIVERY("delivery"),
-     DINE_IN("dine_in"),
-     EDITORIAL_SUMMARY("editorial_summary"),
-     FORMATTED_ADDRESS("formatted_address"),
-     FORMATTED_PHONE_NUMBER("formatted_phone_number"),
-     GEOMETRY("geometry"),
-     GEOMETRY_LOCATION("geometry/location"),
-     GEOMETRY_LOCATION_LAT("geometry/location/lat"),
-     GEOMETRY_LOCATION_LNG("geometry/location/lng"),
-     GEOMETRY_VIEWPORT("geometry/viewport"),
-     GEOMETRY_VIEWPORT_NORTHEAST("geometry/viewport/northeast"),
-     GEOMETRY_VIEWPORT_NORTHEAST_LAT("geometry/viewport/northeast/lat"),
-     GEOMETRY_VIEWPORT_NORTHEAST_LNG("geometry/viewport/northeast/lng"),
-     GEOMETRY_VIEWPORT_SOUTHWEST("geometry/viewport/southwest"),
-     GEOMETRY_VIEWPORT_SOUTHWEST_LAT("geometry/viewport/southwest/lat"),
-     GEOMETRY_VIEWPORT_SOUTHWEST_LNG("geometry/viewport/southwest/lng"),
-     ICON("icon"),
-     @Deprecated
-     ID("id"),
-     INTERNATIONAL_PHONE_NUMBER("international_phone_number"),
-     NAME("name"),
-     OPENING_HOURS("opening_hours"),
-     CURRENT_OPENING_HOURS("current_opening_hours"),
-     SECONDARY_OPENING_HOURS("secondary_opening_hours"),
-     @Deprecated
-     PERMANENTLY_CLOSED("permanently_closed"),
-     USER_RATINGS_TOTAL("user_ratings_total"),
-     PHOTOS("photos"),
-     PLACE_ID("place_id"),
-     PLUS_CODE("plus_code"),
-     PRICE_LEVEL("price_level"),
-     RATING("rating"),
-     @Deprecated
-     REFERENCE("reference"),
-     RESERVABLE("reservable"),
-     @Deprecated
-     REVIEW("review"),
-     REVIEWS("reviews"),
-     @Deprecated
-     SCOPE("scope"),
-     SERVES_BEER("serves_beer"),
-     SERVES_BREAKFAST("serves_breakfast"),
-     SERVES_BRUNCH("serves_brunch"),
-     SERVES_DINNER("serves_dinner"),
-     SERVES_LUNCH("serves_lunch"),
-     SERVES_VEGETARIAN_FOOD("serves_vegetarian_food"),
-     SERVES_WINE("serves_wine"),
-     TAKEOUT("takeout"),
-     TYPES("types"),
-     URL("url"),
-     UTC_OFFSET("utc_offset"),
-     VICINITY("vicinity"),
-     WEBSITE("website"),
-     WHEELCHAIR_ACCESSIBLE_ENTRANCE("wheelchair_accessible_entrance");
- 
-     private final String field;
- 
-     FieldMask(final String field) {
-       this.field = field;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return field;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-15.html b/CodeCoverageReport/ns-1/sources/source-15.html deleted file mode 100644 index 57f2af3d8..000000000 --- a/CodeCoverageReport/ns-1/sources/source-15.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - - - Coverage Report > PlacesApi - - - - - - -
- - -

Coverage Summary for Class: PlacesApi (com.google.maps)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
PlacesApi - - 100% - - - (1/1) - - - - 69.2% - - - (9/13) - - - - 72.5% - - - (29/40) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.model.LatLng;
- import com.google.maps.model.PlaceType;
- 
- /**
-  * Performs a text search for places. The Google Places API enables you to get data from the same
-  * database used by Google Maps and Google+ Local. Places features more than 100 million businesses
-  * and points of interest that are updated frequently through owner-verified listings and
-  * user-moderated contributions.
-  *
-  * <p>See also: <a href="https://developers.google.com/places/web-service/">Places API Web Service
-  * documentation</a>.
-  */
- public class PlacesApi {
- 
-   private PlacesApi() {}
- 
-   /**
-    * Performs a search for nearby Places.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param location The latitude/longitude around which to retrieve place information.
-    * @return Returns a NearbySearchRequest that can be configured and executed.
-    */
-   public static NearbySearchRequest nearbySearchQuery(GeoApiContext context, LatLng location) {
-     NearbySearchRequest request = new NearbySearchRequest(context);
-     request.location(location);
-     return request;
-   }
- 
-   /**
-    * Retrieves the next page of Nearby Search results. The nextPageToken, returned in a
-    * PlacesSearchResponse when there are more pages of results, encodes all of the original Nearby
-    * Search Request parameters, which are thus not required on this call.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param nextPageToken The nextPageToken returned as part of a PlacesSearchResponse.
-    * @return Returns a NearbySearchRequest that can be executed.
-    */
-   public static NearbySearchRequest nearbySearchNextPage(
-       GeoApiContext context, String nextPageToken) {
-     NearbySearchRequest request = new NearbySearchRequest(context);
-     request.pageToken(nextPageToken);
-     return request;
-   }
- 
-   /**
-    * Performs a search for Places using a text query; for example, "pizza in New York" or "shoe
-    * stores near Ottawa".
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param query The text string on which to search, for example: "restaurant".
-    * @return Returns a TextSearchRequest that can be configured and executed.
-    */
-   public static TextSearchRequest textSearchQuery(GeoApiContext context, String query) {
-     TextSearchRequest request = new TextSearchRequest(context);
-     request.query(query);
-     return request;
-   }
- 
-   /**
-    * Performs a search for Places using a text query; for example, "pizza in New York" or "shoe
-    * stores near Ottawa".
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param query The text string on which to search, for example: "restaurant".
-    * @param location The latitude/longitude around which to retrieve place information.
-    * @return Returns a TextSearchRequest that can be configured and executed.
-    */
-   public static TextSearchRequest textSearchQuery(
-       GeoApiContext context, String query, LatLng location) {
-     TextSearchRequest request = new TextSearchRequest(context);
-     request.query(query);
-     request.location(location);
-     return request;
-   }
- 
-   /**
-    * Performs a search for Places using a PlaceType parameter.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param type Restricts the results to places matching the specified PlaceType.
-    * @return Returns a TextSearchRequest that can be configured and executed.
-    */
-   public static TextSearchRequest textSearchQuery(GeoApiContext context, PlaceType type) {
-     TextSearchRequest request = new TextSearchRequest(context);
-     request.type(type);
-     return request;
-   }
- 
-   /**
-    * Retrieves the next page of Text Search results. The nextPageToken, returned in a
-    * PlacesSearchResponse when there are more pages of results, encodes all of the original Text
-    * Search Request parameters, which are thus not required on this call.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param nextPageToken The nextPageToken returned as part of a PlacesSearchResponse.
-    * @return Returns a TextSearchRequest that can be executed.
-    */
-   public static TextSearchRequest textSearchNextPage(GeoApiContext context, String nextPageToken) {
-     TextSearchRequest request = new TextSearchRequest(context);
-     request.pageToken(nextPageToken);
-     return request;
-   }
- 
-   /**
-    * Requests the details of a Place.
-    *
-    * <p>We are only enabling looking up Places by placeId as the older Place identifier, reference,
-    * is deprecated. Please see the <a
-    * href="https://web.archive.org/web/20170521070241/https://developers.google.com/places/web-service/details#deprecation">
-    * deprecation warning</a>.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param placeId The PlaceID to request details on.
-    * @param sessionToken The Session Token for this request.
-    * @return Returns a PlaceDetailsRequest that you can configure and execute.
-    */
-   public static PlaceDetailsRequest placeDetails(
-       GeoApiContext context, String placeId, PlaceAutocompleteRequest.SessionToken sessionToken) {
-     PlaceDetailsRequest request = new PlaceDetailsRequest(context);
-     request.placeId(placeId);
-     request.sessionToken(sessionToken);
-     return request;
-   }
- 
-   /**
-    * Requests the details of a Place.
-    *
-    * <p>We are only enabling looking up Places by placeId as the older Place identifier, reference,
-    * is deprecated. Please see the <a
-    * href="https://web.archive.org/web/20170521070241/https://developers.google.com/places/web-service/details#deprecation">
-    * deprecation warning</a>.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param placeId The PlaceID to request details on.
-    * @return Returns a PlaceDetailsRequest that you can configure and execute.
-    */
-   public static PlaceDetailsRequest placeDetails(GeoApiContext context, String placeId) {
-     PlaceDetailsRequest request = new PlaceDetailsRequest(context);
-     request.placeId(placeId);
-     return request;
-   }
- 
-   /**
-    * Requests a Photo from a PhotoReference.
-    *
-    * <p>Note: If you want to use a Photo in a web browser, please retrieve the photos for a place
-    * via our <a
-    * href="https://developers.google.com/maps/documentation/javascript/places#places_photos">
-    * JavaScript Places Library</a>. Likewise, on Android, Places Photos can be retrieved using the
-    * <a href="https://developers.google.com/places/android-api/photos">Google Places API for
-    * Android</a>.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param photoReference The reference to the photo to retrieve.
-    * @return Returns a PhotoRequest that you can execute.
-    */
-   public static PhotoRequest photo(GeoApiContext context, String photoReference) {
-     PhotoRequest request = new PhotoRequest(context);
-     request.photoReference(photoReference);
-     return request;
-   }
- 
-   /**
-    * Creates a new Places Autocomplete request for a given input. The Place Autocomplete service can
-    * match on full words as well as substrings. Applications can therefore send queries as the user
-    * types, to provide on-the-fly place predictions.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param input input is the text string on which to search.
-    * @param sessionToken Session token, to make sure requests are billed per session, instead of per
-    *     character.
-    * @return Returns a PlaceAutocompleteRequest that you can configure and execute.
-    */
-   public static PlaceAutocompleteRequest placeAutocomplete(
-       GeoApiContext context, String input, PlaceAutocompleteRequest.SessionToken sessionToken) {
-     PlaceAutocompleteRequest request = new PlaceAutocompleteRequest(context);
-     request.input(input);
-     request.sessionToken(sessionToken);
-     return request;
-   }
- 
-   /**
-    * Allows you to add on-the-fly geographic query predictions to your application.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param input input is the text string on which to search.
-    * @return Returns a QueryAutocompleteRequest that you can configure and execute.
-    */
-   public static QueryAutocompleteRequest queryAutocomplete(GeoApiContext context, String input) {
-     QueryAutocompleteRequest request = new QueryAutocompleteRequest(context);
-     request.input(input);
-     return request;
-   }
- 
-   /**
-    * Find places using either search text, or a phone number.
-    *
-    * @param context The context on which to make Geo API requests.
-    * @param input The input to search on.
-    * @param inputType Whether the input is search text, or a phone number.
-    * @return Returns a FindPlaceFromTextRequest that you can configure and execute.
-    */
-   public static FindPlaceFromTextRequest findPlaceFromText(
-       GeoApiContext context, String input, FindPlaceFromTextRequest.InputType inputType) {
-     FindPlaceFromTextRequest request = new FindPlaceFromTextRequest(context);
-     request.input(input).inputType(inputType);
-     return request;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-16.html b/CodeCoverageReport/ns-1/sources/source-16.html deleted file mode 100644 index 3fbea6a95..000000000 --- a/CodeCoverageReport/ns-1/sources/source-16.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - Coverage Report > QueryAutocompleteRequest - - - - - - -
- - -

Coverage Summary for Class: QueryAutocompleteRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
QueryAutocompleteRequest - - 100% - - - (7/7) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
QueryAutocompleteRequest$Response - - 75% - - - (3/4) - - - - 16.7% - - - (1/6) - - - - 50% - - - (3/6) - -
Total - - 90.9% - - - (10/11) - - - - 25% - - - (2/8) - - - - 76.5% - - - (13/17) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.AutocompletePrediction;
- import com.google.maps.model.LatLng;
- 
- /**
-  * A <a
-  * href="https://developers.google.com/places/web-service/query#query_autocomplete_requests">Query
-  * Autocomplete</a> request.
-  */
- public class QueryAutocompleteRequest
-     extends PendingResultBase<
-         AutocompletePrediction[], QueryAutocompleteRequest, QueryAutocompleteRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/queryautocomplete/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- 
-   protected QueryAutocompleteRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("input")) {
-       throw new IllegalArgumentException("Request must contain 'input'.");
-     }
-   }
- 
-   /**
-    * The text string on which to search. The Places service will return candidate matches based on
-    * this string and order results based on their perceived relevance.
-    *
-    * @param input The input text to autocomplete.
-    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
-    */
-   public QueryAutocompleteRequest input(String input) {
-     return param("input", input);
-   }
- 
-   /**
-    * The character position in the input term at which the service uses text for predictions. For
-    * example, if the input is 'Googl' and the completion point is 3, the service will match on
-    * 'Goo'. The offset should generally be set to the position of the text caret. If no offset is
-    * supplied, the service will use the entire term.
-    *
-    * @param offset The character offset to search from.
-    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
-    */
-   public QueryAutocompleteRequest offset(int offset) {
-     return param("offset", String.valueOf(offset));
-   }
- 
-   /**
-    * The point around which you wish to retrieve place information.
-    *
-    * @param location The location point around which to search.
-    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
-    */
-   public QueryAutocompleteRequest location(LatLng location) {
-     return param("location", location);
-   }
- 
-   /**
-    * The distance (in meters) within which to return place results. Note that setting a radius
-    * biases results to the indicated area, but may not fully restrict results to the specified area.
-    *
-    * @param radius The radius around which to bias results.
-    * @return Returns this {@code QueryAutocompleteRequest} for call chaining.
-    */
-   public QueryAutocompleteRequest radius(int radius) {
-     return param("radius", String.valueOf(radius));
-   }
- 
-   public static class Response implements ApiResponse<AutocompletePrediction[]> {
-     public String status;
-     public AutocompletePrediction predictions[];
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public AutocompletePrediction[] getResult() {
-       return predictions;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-17.html b/CodeCoverageReport/ns-1/sources/source-17.html deleted file mode 100644 index 56f8dae59..000000000 --- a/CodeCoverageReport/ns-1/sources/source-17.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - Coverage Report > RoadsApi - - - - - - -
- - -

Coverage Summary for Class: RoadsApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
RoadsApi - - 66.7% - - - (4/6) - - - - 66.7% - - - (4/6) - -
RoadsApi$RoadsResponse - - 75% - - - (3/4) - - - - 50% - - - (1/2) - - - - 75% - - - (3/4) - -
RoadsApi$SpeedLimitsResponse - - 75% - - - (3/4) - - - - 50% - - - (1/2) - - - - 85.7% - - - (6/7) - -
Total - - 71.4% - - - (10/14) - - - - 50% - - - (2/4) - - - - 76.5% - - - (13/17) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiError;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.SnappedPoint;
- import com.google.maps.model.SnappedSpeedLimitResult;
- import com.google.maps.model.SpeedLimit;
- 
- /**
-  * The Google Maps Roads API identifies the roads a vehicle was traveling along and provides
-  * additional metadata about those roads, such as speed limits.
-  *
-  * <p>See also: <a href="https://developers.google.com/maps/documentation/roads">Roads API
-  * documentation</a>.
-  */
- public class RoadsApi {
-   static final String API_BASE_URL = "https://roads.googleapis.com";
- 
-   private RoadsApi() {}
- 
-   /**
-    * Takes up to 100 GPS points collected along a route, and returns a similar set of data with the
-    * points snapped to the most likely roads the vehicle was traveling along.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param path The collected GPS points as a path.
-    * @return Returns the {@code SnapToRoadsApiRequest} for call chaining
-    */
-   public static SnapToRoadsApiRequest snapToRoads(GeoApiContext context, LatLng... path) {
-     return snapToRoads(context, false, path);
-   }
- 
-   /**
-    * Takes up to 100 GPS points collected along a route, and returns a similar set of data with the
-    * points snapped to the most likely roads the vehicle was traveling along. Additionally, you can
-    * request that the points be interpolated, resulting in a path that smoothly follows the geometry
-    * of the road.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param interpolate Whether to interpolate a path to include all points forming the full
-    *     road-geometry. When true, additional interpolated points will also be returned, resulting
-    *     in a path that smoothly follows the geometry of the road, even around corners and through
-    *     tunnels.
-    * @param path The path to be snapped.
-    * @return Returns the {@code SnapToRoadsApiRequest} for call chaining
-    */
-   public static SnapToRoadsApiRequest snapToRoads(
-       GeoApiContext context, boolean interpolate, LatLng... path) {
-     return new SnapToRoadsApiRequest(context).path(path).interpolate(interpolate);
-   }
- 
-   /**
-    * Returns the posted speed limit for given road segments. The provided LatLngs will first be
-    * snapped to the most likely roads the vehicle was traveling along.
-    *
-    * <p>Note: The accuracy of speed limit data returned by the Google Maps Roads API cannot be
-    * guaranteed. Speed limit data provided is not real-time, and may be estimated, inaccurate,
-    * incomplete, and/or outdated. Inaccuracies in our data may be reported through <a
-    * href="https://www.localguidesconnect.com/t5/News-Updates/Exclusive-Edit-a-road-segment-in-Google-Maps/ba-p/149865">
-    * Google Maps Feedback</a>.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param path The collected GPS points as a path.
-    * @return a {@link SpeedLimitsApiRequest}
-    */
-   public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, LatLng... path) {
-     return new SpeedLimitsApiRequest(context).path(path);
-   }
- 
-   /**
-    * Returns the posted speed limit for given road segments.
-    *
-    * <p>Note: The accuracy of speed limit data returned by the Google Maps Roads API cannot be
-    * guaranteed. Speed limit data provided is not real-time, and may be estimated, inaccurate,
-    * incomplete, and/or outdated. Inaccuracies in our data may be reported through <a
-    * href="https://www.localguidesconnect.com/t5/News-Updates/Exclusive-Edit-a-road-segment-in-Google-Maps/ba-p/149865">
-    * Google Maps Feedback</a>.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param placeIds The Place ID of the road segment. Place IDs are returned by the {@link
-    *     #snapToRoads(GeoApiContext, com.google.maps.model.LatLng...)} method. You can pass up to
-    *     100 placeIds with each request.
-    * @return a {@link SpeedLimitsApiRequest}
-    */
-   public static SpeedLimitsApiRequest speedLimits(GeoApiContext context, String... placeIds) {
-     return new SpeedLimitsApiRequest(context).placeIds(placeIds);
-   }
- 
-   /**
-    * Takes up to 100 GPS points, and returns the closest road segment for each point. The points
-    * passed do not need to be part of a continuous path.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param points The sequence of points to be aligned to nearest roads
-    * @return a {@link NearestRoadsApiRequest}
-    */
-   public static NearestRoadsApiRequest nearestRoads(GeoApiContext context, LatLng... points) {
-     return new NearestRoadsApiRequest(context).points(points);
-   }
- 
-   public static class RoadsResponse implements ApiResponse<SnappedPoint[]> {
-     private SnappedPoint[] snappedPoints;
-     private ApiError error;
- 
-     @Override
-     public boolean successful() {
-       return error == null;
-     }
- 
-     @Override
-     public SnappedPoint[] getResult() {
-       return snappedPoints;
-     }
- 
-     @Override
-     public ApiException getError() {
-       return ApiException.from(error.status, error.message);
-     }
-   }
- 
-   public static class SpeedLimitsResponse implements ApiResponse<SnappedSpeedLimitResult> {
-     private SnappedPoint[] snappedPoints;
-     private SpeedLimit[] speedLimits;
-     private ApiError error;
- 
-     @Override
-     public boolean successful() {
-       return error == null;
-     }
- 
-     @Override
-     public SnappedSpeedLimitResult getResult() {
-       SnappedSpeedLimitResult response = new SnappedSpeedLimitResult();
-       response.snappedPoints = snappedPoints;
-       response.speedLimits = speedLimits;
-       return response;
-     }
- 
-     @Override
-     public ApiException getError() {
-       return ApiException.from(error.status, error.message);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-18.html b/CodeCoverageReport/ns-1/sources/source-18.html deleted file mode 100644 index b7df47f48..000000000 --- a/CodeCoverageReport/ns-1/sources/source-18.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - Coverage Report > SnapToRoadsApiRequest - - - - - - -
- - -

Coverage Summary for Class: SnapToRoadsApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
SnapToRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 50% - - - (1/2) - - - - 90.9% - - - (10/11) - -
- -
-
- - -
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.RoadsApi.RoadsResponse;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.SnappedPoint;
- 
- /** A request to the snap to roads API (part of Roads API). */
- public class SnapToRoadsApiRequest
-     extends PendingResultBase<SnappedPoint[], SnapToRoadsApiRequest, RoadsResponse> {
- 
-   private static final ApiConfig SNAP_TO_ROADS_API_CONFIG =
-       new ApiConfig("/v1/snapToRoads")
-           .hostName(RoadsApi.API_BASE_URL)
-           .supportsClientId(false)
-           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
- 
-   public SnapToRoadsApiRequest(GeoApiContext context) {
-     super(context, SNAP_TO_ROADS_API_CONFIG, RoadsResponse.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("path")) {
-       throw new IllegalArgumentException("Request must contain 'path");
-     }
-   }
- 
-   /**
-    * The path from which to snap to roads.
-    *
-    * @param path the path to be snapped
-    * @return returns this {@code SnapToRoadsApiRequest} for call chaining.
-    */
-   public SnapToRoadsApiRequest path(LatLng... path) {
-     return param("path", StringJoin.join('|', path));
-   }
- 
-   /**
-    * Whether to interpolate a path to include all points forming the full road-geometry.
-    *
-    * @param interpolate if the points should be interpolated or not
-    * @return returns this {@code SnapToRoadsApiRequest} for call chaining.
-    */
-   public SnapToRoadsApiRequest interpolate(boolean interpolate) {
-     return param("interpolate", String.valueOf(interpolate));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-19.html b/CodeCoverageReport/ns-1/sources/source-19.html deleted file mode 100644 index f21af3093..000000000 --- a/CodeCoverageReport/ns-1/sources/source-19.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - Coverage Report > SpeedLimitsApiRequest - - - - - - -
- - -

Coverage Summary for Class: SpeedLimitsApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
SpeedLimitsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 92.3% - - - (12/13) - -
- -
-
- - -
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.RoadsApi.SpeedLimitsResponse;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.SnappedSpeedLimitResult;
- 
- /** A request to the speed limits API (part of Roads API). */
- public class SpeedLimitsApiRequest
-     extends PendingResultBase<SnappedSpeedLimitResult, SpeedLimitsApiRequest, SpeedLimitsResponse> {
- 
-   private static final ApiConfig SPEEDS_API_CONFIG =
-       new ApiConfig("/v1/speedLimits")
-           .hostName(RoadsApi.API_BASE_URL)
-           .supportsClientId(false)
-           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
- 
-   public SpeedLimitsApiRequest(GeoApiContext context) {
-     super(context, SPEEDS_API_CONFIG, SpeedLimitsResponse.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("path") && !params().containsKey("placeId")) {
-       throw new IllegalArgumentException("Request must contain either 'path' or 'placeId'");
-     }
-   }
- 
-   /**
-    * A list of up to 100 lat/long pairs representing a path.
-    *
-    * @param path the path
-    * @return a {@code SpeedLimitsApiRequest} for call chaining.
-    */
-   public SpeedLimitsApiRequest path(LatLng... path) {
-     return param("path", StringJoin.join('|', path));
-   }
- 
-   /**
-    * A list of place ID/s representing one or more road segments.
-    *
-    * @param placeIds the place ID/s
-    * @return a {@code SpeedLimitsApiRequest} for call chaining.
-    */
-   public SpeedLimitsApiRequest placeIds(String... placeIds) {
-     for (String placeId : placeIds) {
-       paramAddToList("placeId", placeId);
-     }
-     return this;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1a.html b/CodeCoverageReport/ns-1/sources/source-1a.html deleted file mode 100644 index cf641b21b..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1a.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - Coverage Report > StaticMapsApi - - - - - - -
- - -

Coverage Summary for Class: StaticMapsApi (com.google.maps)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
StaticMapsApi - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (1/2) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.model.Size;
- 
- public class StaticMapsApi {
- 
-   private StaticMapsApi() {}
- 
-   /**
-    * Create a new {@code StaticMapRequest}.
-    *
-    * @param context The {@code GeoApiContext} to make this request through.
-    * @param size The size of the static map.
-    * @return Returns a new {@code StaticMapRequest} with configured size.
-    */
-   public static StaticMapsRequest newRequest(GeoApiContext context, Size size) {
-     return new StaticMapsRequest(context).size(size);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1b.html b/CodeCoverageReport/ns-1/sources/source-1b.html deleted file mode 100644 index e67f889c5..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1b.html +++ /dev/null @@ -1,731 +0,0 @@ - - - - - - - - Coverage Report > StaticMapsRequest - - - - - - -
- - -

Coverage Summary for Class: StaticMapsRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
StaticMapsRequest - - 93.8% - - - (15/16) - - - - 100% - - - (10/10) - - - - 95.7% - - - (22/23) - -
StaticMapsRequest$ImageFormat - - 100% - - - (3/3) - - - - 100% - - - (11/11) - -
StaticMapsRequest$Markers - - 90% - - - (9/10) - - - - 75% - - - (12/16) - - - - 89.2% - - - (33/37) - -
StaticMapsRequest$Markers$CustomIconAnchor - - 100% - - - (2/2) - - - - 100% - - - (11/11) - -
StaticMapsRequest$Markers$MarkersSize - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
StaticMapsRequest$Path - - 100% - - - (8/8) - - - - 50% - - - (4/8) - - - - 100% - - - (25/25) - -
StaticMapsRequest$StaticMapType - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
Total - - 95.3% - - - (41/43) - - - - 76.5% - - - (26/34) - - - - 95.8% - - - (114/119) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.internal.StringJoin.UrlValue;
- import com.google.maps.model.EncodedPolyline;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.Size;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.regex.Pattern;
- 
- public class StaticMapsRequest
-     extends PendingResultBase<ImageResult, StaticMapsRequest, ImageResult.Response> {
- 
-   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/staticmap");
- 
-   public StaticMapsRequest(GeoApiContext context) {
-     super(context, API_CONFIG, ImageResult.Response.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!((params().containsKey("center") && params().containsKey("zoom"))
-         || params().containsKey("markers")
-         || params().containsKey("path"))) {
-       throw new IllegalArgumentException(
-           "Request must contain 'center' and 'zoom' if 'markers' or 'path' aren't present.");
-     }
-     if (!params().containsKey("size")) {
-       throw new IllegalArgumentException("Request must contain 'size'.");
-     }
-   }
- 
-   /**
-    * <code>center</code> (required if markers not present) defines the center of the map,
-    * equidistant from all edges of the map.
-    *
-    * @param location The location of the center of the map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest center(LatLng location) {
-     return param("center", location);
-   }
- 
-   /**
-    * <code>center</code> (required if markers not present) defines the center of the map,
-    * equidistant from all edges of the map.
-    *
-    * @param location The location of the center of the map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest center(String location) {
-     return param("center", location);
-   }
- 
-   /**
-    * <code>zoom</code> (required if markers not present) defines the zoom level of the map, which
-    * determines the magnification level of the map.
-    *
-    * @param zoom The zoom level of the region.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest zoom(int zoom) {
-     return param("zoom", zoom);
-   }
- 
-   /**
-    * <code>size</code> defines the rectangular dimensions of the map image.
-    *
-    * @param size The Size of the static map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest size(Size size) {
-     return param("size", size);
-   }
- 
-   /**
-    * <code>scale</code> affects the number of pixels that are returned. Setting <code>scale</code>
-    * to 2 returns twice as many pixels as <code>scale</code> set to 1 while retaining the same
-    * coverage area and level of detail (i.e. the contents of the map doesn't change).
-    *
-    * @param scale The scale of the static map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest scale(int scale) {
-     return param("scale", scale);
-   }
- 
-   public enum ImageFormat implements UrlValue {
-     png("png"),
-     png8("png8"),
-     png32("png32"),
-     gif("gif"),
-     jpg("jpg"),
-     jpgBaseline("jpg-baseline");
- 
-     private final String format;
- 
-     ImageFormat(String format) {
-       this.format = format;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return format;
-     }
-   }
- 
-   /**
-    * <code>format</code> defines the format of the resulting image. By default, the Google Static
-    * Maps API creates PNG images. There are several possible formats including GIF, JPEG and PNG
-    * types.
-    *
-    * @param format The format of the static map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest format(ImageFormat format) {
-     return param("format", format);
-   }
- 
-   public enum StaticMapType implements UrlValue {
-     roadmap,
-     satellite,
-     terrain,
-     hybrid;
- 
-     @Override
-     public String toUrlValue() {
-       return this.name();
-     }
-   }
- 
-   /**
-    * <code>maptype</code> defines the type of map to construct.
-    *
-    * @param maptype The map type of the static map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest maptype(StaticMapType maptype) {
-     return param("maptype", maptype);
-   }
- 
-   /**
-    * <code>region</code> defines the appropriate borders to display, based on geo-political
-    * sensitivities. Accepts a region code specified as a two-character ccTLD ('top-level domain')
-    * value.
-    *
-    * @param region The region of the static map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest region(String region) {
-     return param("region", region);
-   }
- 
-   public static class Markers implements UrlValue {
- 
-     public enum MarkersSize implements UrlValue {
-       tiny,
-       mid,
-       small,
-       normal;
- 
-       @Override
-       public String toUrlValue() {
-         return this.name();
-       }
-     }
- 
-     public enum CustomIconAnchor implements UrlValue {
-       top,
-       bottom,
-       left,
-       right,
-       center,
-       topleft,
-       topright,
-       bottomleft,
-       bottomright;
- 
-       @Override
-       public String toUrlValue() {
-         return this.name();
-       }
-     }
- 
-     private MarkersSize size;
-     private String color;
-     private String label;
-     private String customIconURL;
-     private CustomIconAnchor anchorPoint;
-     private Integer scale;
-     private final List<String> locations = new ArrayList<>();
- 
-     /**
-      * Specifies the size of marker. If no size parameter is set, the marker will appear in its
-      * default (normal) size.
-      *
-      * @param size The size of the markers.
-      */
-     public void size(MarkersSize size) {
-       this.size = size;
-     }
- 
-     /**
-      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
-      * brown, green, purple, yellow, blue, gray, orange, red, white}.
-      *
-      * @param color The color of the markers.
-      */
-     public void color(String color) {
-       this.color = color;
-     }
- 
-     private static final Pattern labelPattern = Pattern.compile("^[A-Z0-9]$");
- 
-     /**
-      * Specifies a single uppercase alphanumeric character from the set {A-Z, 0-9}.
-      *
-      * @param label The label to add to markers.
-      */
-     public void label(String label) {
-       if (!labelPattern.matcher(label).matches()) {
-         throw new IllegalArgumentException(
-             "Label '" + label + "' doesn't match acceptable label pattern.");
-       }
- 
-       this.label = label;
-     }
- 
-     /**
-      * Set a custom icon for these markers.
-      *
-      * @param url URL for the custom icon.
-      * @param anchorPoint The anchor point for this custom icon.
-      */
-     public void customIcon(String url, CustomIconAnchor anchorPoint) {
-       this.customIconURL = url;
-       this.anchorPoint = anchorPoint;
-     }
- 
-     /**
-      * Set a custom icon for these markers.
-      *
-      * @param url URL for the custom icon.
-      * @param anchorPoint The anchor point for this custom icon.
-      * @param scale Set the image density scale (1, 2, or 4) of the custom icon provided.
-      */
-     public void customIcon(String url, CustomIconAnchor anchorPoint, int scale) {
-       this.customIconURL = url;
-       this.anchorPoint = anchorPoint;
-       this.scale = scale;
-     }
- 
-     /**
-      * Add the location of a marker. At least one is required.
-      *
-      * @param location The location of the added marker.
-      */
-     public void addLocation(String location) {
-       locations.add(location);
-     }
- 
-     /**
-      * Add the location of a marker. At least one is required.
-      *
-      * @param location The location of the added marker.
-      */
-     public void addLocation(LatLng location) {
-       locations.add(location.toUrlValue());
-     }
- 
-     @Override
-     public String toUrlValue() {
-       List<String> urlParts = new ArrayList<>();
- 
-       if (customIconURL != null) {
-         urlParts.add("icon:" + customIconURL);
-       }
- 
-       if (anchorPoint != null) {
-         urlParts.add("anchor:" + anchorPoint.toUrlValue());
-       }
- 
-       if (scale != null) {
-         urlParts.add("scale:" + scale);
-       }
- 
-       if (size != null && size != MarkersSize.normal) {
-         urlParts.add("size:" + size.toUrlValue());
-       }
- 
-       if (color != null) {
-         urlParts.add("color:" + color);
-       }
- 
-       if (label != null) {
-         urlParts.add("label:" + label);
-       }
- 
-       urlParts.addAll(locations);
- 
-       return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()]));
-     }
-   }
- 
-   /**
-    * <code>markers</code> parameter defines a set of one or more markers (map pins) at a set of
-    * locations. Each marker defined within a single markers declaration must exhibit the same visual
-    * style; if you wish to display markers with different styles, you will need to supply multiple
-    * markers parameters with separate style information.
-    *
-    * @param markers A group of markers with the same style.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest markers(Markers markers) {
-     return paramAddToList("markers", markers);
-   }
- 
-   public static class Path implements UrlValue {
- 
-     private int weight;
-     private String color;
-     private String fillcolor;
-     private boolean geodesic;
-     private final List<String> points = new ArrayList<>();
- 
-     /**
-      * Specifies the thickness of the path in pixels. If no weight parameter is set, the path will
-      * appear in its default thickness (5 pixels).
-      *
-      * @param weight The thickness of the path in pixels.
-      */
-     public void weight(int weight) {
-       this.weight = weight;
-     }
- 
-     /**
-      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
-      * brown, green, purple, yellow, blue, gray, orange, red, white}.
-      *
-      * @param color The color of the path.
-      */
-     public void color(String color) {
-       this.color = color;
-     }
- 
-     /**
-      * Specifies a 24-bit color (example: color=0xFFFFCC) or a predefined color from the set {black,
-      * brown, green, purple, yellow, blue, gray, orange, red, white}.
-      *
-      * @param color The fill color.
-      */
-     public void fillcolor(String color) {
-       this.fillcolor = color;
-     }
- 
-     /**
-      * Indicates that the requested path should be interpreted as a geodesic line that follows the
-      * curvature of the earth.
-      *
-      * @param geodesic Whether the path is geodesic.
-      */
-     public void geodesic(boolean geodesic) {
-       this.geodesic = geodesic;
-     }
- 
-     /**
-      * Add a point to the path. At least two are required.
-      *
-      * @param point The point to add.
-      */
-     public void addPoint(String point) {
-       points.add(point);
-     }
- 
-     /**
-      * Add a point to the path. At least two are required.
-      *
-      * @param point The point to add.
-      */
-     public void addPoint(LatLng point) {
-       points.add(point.toUrlValue());
-     }
- 
-     @Override
-     public String toUrlValue() {
-       List<String> urlParts = new ArrayList<>();
- 
-       if (weight > 0) {
-         urlParts.add("weight:" + weight);
-       }
- 
-       if (color != null) {
-         urlParts.add("color:" + color);
-       }
- 
-       if (fillcolor != null) {
-         urlParts.add("fillcolor:" + fillcolor);
-       }
- 
-       if (geodesic) {
-         urlParts.add("geodesic:" + geodesic);
-       }
- 
-       urlParts.addAll(points);
- 
-       return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()]));
-     }
-   }
- 
-   /**
-    * The <code>path</code> parameter defines a set of one or more locations connected by a path to
-    * overlay on the map image.
-    *
-    * @param path A path to render atop the map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest path(Path path) {
-     return paramAddToList("path", path);
-   }
- 
-   /**
-    * The <code>path</code> parameter defines a set of one or more locations connected by a path to
-    * overlay on the map image. This variant of the method accepts the path as an EncodedPolyline.
-    *
-    * @param path A path to render atop the map, as an EncodedPolyline.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest path(EncodedPolyline path) {
-     return paramAddToList("path", "enc:" + path.getEncodedPath());
-   }
- 
-   /**
-    * <code>visible</code> instructs the Google Static Maps API service to construct a map such that
-    * the existing locations remain visible.
-    *
-    * @param visibleLocation The location to be made visible in the requested Static Map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest visible(LatLng visibleLocation) {
-     return param("visible", visibleLocation);
-   }
- 
-   /**
-    * <code>visible</code> instructs the Google Static Maps API service to construct a map such that
-    * the existing locations remain visible.
-    *
-    * @param visibleLocation The location to be made visible in the requested Static Map.
-    * @return Returns this {@code StaticMapsRequest} for call chaining.
-    */
-   public StaticMapsRequest visible(String visibleLocation) {
-     return param("visible", visibleLocation);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1c.html b/CodeCoverageReport/ns-1/sources/source-1c.html deleted file mode 100644 index b78b9048c..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1c.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - Coverage Report > TextSearchRequest - - - - - - -
- - -

Coverage Summary for Class: TextSearchRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
TextSearchRequest - - 92.9% - - - (13/14) - - - - 75% - - - (9/12) - - - - 83.3% - - - (20/24) - -
TextSearchRequest$Response - - 75% - - - (3/4) - - - - 16.7% - - - (1/6) - - - - 70% - - - (7/10) - -
Total - - 88.9% - - - (16/18) - - - - 55.6% - - - (10/18) - - - - 79.4% - - - (27/34) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.PlaceType;
- import com.google.maps.model.PlacesSearchResponse;
- import com.google.maps.model.PlacesSearchResult;
- import com.google.maps.model.PriceLevel;
- import com.google.maps.model.RankBy;
- 
- /**
-  * A <a href="https://developers.google.com/places/web-service/search#TextSearchRequests">Text
-  * Search</a> request.
-  */
- public class TextSearchRequest
-     extends PendingResultBase<PlacesSearchResponse, TextSearchRequest, TextSearchRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/textsearch/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- 
-   public TextSearchRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   /**
-    * Specifies the text string on which to search, for example: {@code "restaurant"}.
-    *
-    * @param query The query string to search for.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest query(String query) {
-     return param("query", query);
-   }
- 
-   /**
-    * Specifies the latitude/longitude around which to retrieve place information.
-    *
-    * @param location The location of the center of the search.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest location(LatLng location) {
-     return param("location", location);
-   }
- 
-   /**
-    * Region used to influence search results. This parameter will only influence, not fully
-    * restrict, search results. If more relevant results exist outside of the specified region, they
-    * may be included. When this parameter is used, the country name is omitted from the resulting
-    * formatted_address for results in the specified region.
-    *
-    * @param region The ccTLD two-letter code of the region.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest region(String region) {
-     return param("region", region);
-   }
- 
-   /**
-    * Specifies the distance (in meters) within which to bias place results.
-    *
-    * @param radius The radius of the search bias.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest radius(int radius) {
-     if (radius > 50000) {
-       throw new IllegalArgumentException("The maximum allowed radius is 50,000 meters.");
-     }
-     return param("radius", String.valueOf(radius));
-   }
- 
-   /**
-    * Restricts to places that are at least this price level.
-    *
-    * @param priceLevel The minimum price level to restrict results with.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest minPrice(PriceLevel priceLevel) {
-     return param("minprice", priceLevel);
-   }
- 
-   /**
-    * Restricts to places that are at most this price level.
-    *
-    * @param priceLevel The maximum price leve to restrict results with.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest maxPrice(PriceLevel priceLevel) {
-     return param("maxprice", priceLevel);
-   }
- 
-   /**
-    * Specifies one or more terms to be matched against the names of places, separated with space
-    * characters.
-    *
-    * @param name The name to search for.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest name(String name) {
-     return param("name", name);
-   }
- 
-   /**
-    * Restricts to only those places that are open for business at the time the query is sent.
-    *
-    * @param openNow Whether to restrict this search to open places.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest openNow(boolean openNow) {
-     return param("opennow", String.valueOf(openNow));
-   }
- 
-   /**
-    * Returns the next 20 results from a previously run search. Setting pageToken will execute a
-    * search with the same parameters used previously  all parameters other than pageToken will be
-    * ignored.
-    *
-    * @param nextPageToken A {@code pageToken} from a prior result.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest pageToken(String nextPageToken) {
-     return param("pagetoken", nextPageToken);
-   }
- 
-   /**
-    * Specifies the order in which results are listed.
-    *
-    * @param ranking The rank by method.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest rankby(RankBy ranking) {
-     return param("rankby", ranking);
-   }
- 
-   /**
-    * Restricts the results to places matching the specified type.
-    *
-    * @param type The type of place to restrict the results with.
-    * @return Returns this {@code TextSearchRequest} for call chaining.
-    */
-   public TextSearchRequest type(PlaceType type) {
-     return param("type", type);
-   }
- 
-   @Override
-   protected void validateRequest() {
- 
-     // All other parameters are ignored if pagetoken is specified.
-     if (params().containsKey("pagetoken")) {
-       return;
-     }
- 
-     if (!params().containsKey("query") && !params().containsKey("type")) {
-       throw new IllegalArgumentException(
-           "Request must contain 'query' or a 'pageToken'. If a 'type' is specified 'query' becomes optional.");
-     }
- 
-     if (params().containsKey("location") && !params().containsKey("radius")) {
-       throw new IllegalArgumentException(
-           "Request must contain 'radius' parameter when it contains a 'location' parameter.");
-     }
-   }
- 
-   public static class Response implements ApiResponse<PlacesSearchResponse> {
- 
-     public String status;
-     public String htmlAttributions[];
-     public PlacesSearchResult results[];
-     public String nextPageToken;
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public PlacesSearchResponse getResult() {
-       PlacesSearchResponse result = new PlacesSearchResponse();
-       result.htmlAttributions = htmlAttributions;
-       result.results = results;
-       result.nextPageToken = nextPageToken;
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1d.html b/CodeCoverageReport/ns-1/sources/source-1d.html deleted file mode 100644 index f00d07f4e..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1d.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - Coverage Report > TimeZoneApi - - - - - - -
- - -

Coverage Summary for Class: TimeZoneApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
TimeZoneApi - - 66.7% - - - (2/3) - - - - 80% - - - (4/5) - -
TimeZoneApi$Response - - 100% - - - (4/4) - - - - 50% - - - (2/4) - - - - 75% - - - (6/8) - -
Total - - 85.7% - - - (6/7) - - - - 50% - - - (2/4) - - - - 76.9% - - - (10/13) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.LatLng;
- import java.util.TimeZone;
- 
- /**
-  * The Google Time Zone API provides a simple interface to request the time zone for a location on
-  * the earth.
-  *
-  * <p>See the <a href="https://developers.google.com/maps/documentation/timezone/">Time Zone API
-  * documentation</a>.
-  */
- public class TimeZoneApi {
-   private static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/timezone/json").fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
- 
-   private TimeZoneApi() {}
- 
-   /**
-    * Retrieves the {@link java.util.TimeZone} for the given location.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param location The location for which to retrieve a time zone.
-    * @return Returns the time zone as a {@link PendingResult}.
-    */
-   public static PendingResult<TimeZone> getTimeZone(GeoApiContext context, LatLng location) {
-     return context.get(
-         API_CONFIG,
-         Response.class,
-         "location",
-         location.toString(),
-         // Java has its own lookup for time -> DST, so we really only need to fetch the TZ id.
-         // "timestamp" is, in effect, ignored.
-         "timestamp",
-         "0");
-   }
- 
-   private static class Response implements ApiResponse<TimeZone> {
-     public String status;
-     public String errorMessage;
- 
-     private String timeZoneId;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status);
-     }
- 
-     @Override
-     public TimeZone getResult() {
-       if (timeZoneId == null) {
-         return null;
-       }
-       return TimeZone.getTimeZone(timeZoneId);
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-1e.html b/CodeCoverageReport/ns-1/sources/source-1e.html deleted file mode 100644 index 469cef5dd..000000000 --- a/CodeCoverageReport/ns-1/sources/source-1e.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - Coverage Report > PendingResult - - - - - - -
- - -

Coverage Summary for Class: PendingResult (com.google.maps)

- - - - - - - - - - - - -
Class
PendingResult$Callback
Total
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import java.io.IOException;
- 
- /**
-  * A pending result from an API call.
-  *
-  * @param <T> the type of the result object.
-  */
- public interface PendingResult<T> {
- 
-   /**
-    * Performs the request asynchronously, calling {@link
-    * com.google.maps.PendingResult.Callback#onResult onResult} or {@link
-    * com.google.maps.PendingResult.Callback#onFailure onFailure} after the request has been
-    * completed.
-    *
-    * @param callback The callback to call on completion.
-    */
-   void setCallback(Callback<T> callback);
- 
-   /**
-    * Performs the request synchronously.
-    *
-    * @return The result.
-    * @throws ApiException Thrown if the API Returned result is an error.
-    * @throws InterruptedException Thrown when a thread is waiting, sleeping, or otherwise occupied,
-    *     and the thread is interrupted.
-    * @throws IOException Thrown when an I/O exception of some sort has occurred.
-    */
-   T await() throws ApiException, InterruptedException, IOException;
- 
-   /**
-    * Performs the request synchronously, ignoring exceptions while performing the request and errors
-    * returned by the server.
-    *
-    * @return The result, or null if there was any error or exception ignored.
-    */
-   T awaitIgnoreError();
- 
-   /** Attempts to cancel the request. */
-   void cancel();
- 
-   /**
-    * The callback interface the API client code needs to implement to handle API results.
-    *
-    * @param <T> The type of the result object.
-    */
-   interface Callback<T> {
- 
-     /**
-      * Called when the request was successfully completed.
-      *
-      * @param result The result of the call.
-      */
-     void onResult(T result);
- 
-     /**
-      * Called when there was an error performing the request.
-      *
-      * @param e The exception describing the failure.
-      */
-     void onFailure(Throwable e);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-2.html b/CodeCoverageReport/ns-1/sources/source-2.html deleted file mode 100644 index 04ddc08ae..000000000 --- a/CodeCoverageReport/ns-1/sources/source-2.html +++ /dev/null @@ -1,576 +0,0 @@ - - - - - - - - Coverage Report > DirectionsApiRequest - - - - - - -
- - -

Coverage Summary for Class: DirectionsApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
DirectionsApiRequest - - 72% - - - (18/25) - - - - 60% - - - (18/30) - - - - 66.7% - - - (38/57) - -
DirectionsApiRequest$Waypoint - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (17/17) - -
Total - - 76.7% - - - (23/30) - - - - 62.5% - - - (20/32) - - - - 74.3% - - - (55/74) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- import static java.util.Objects.requireNonNull;
- 
- import com.google.maps.model.DirectionsResult;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.TrafficModel;
- import com.google.maps.model.TransitMode;
- import com.google.maps.model.TransitRoutingPreference;
- import com.google.maps.model.TravelMode;
- import com.google.maps.model.Unit;
- import java.time.Instant;
- 
- /** Request for the Directions API. */
- public class DirectionsApiRequest
-     extends PendingResultBase<DirectionsResult, DirectionsApiRequest, DirectionsApi.Response> {
- 
-   public DirectionsApiRequest(GeoApiContext context) {
-     super(context, DirectionsApi.API_CONFIG, DirectionsApi.Response.class);
-   }
- 
-   protected boolean optimizeWaypoints;
-   protected Waypoint[] waypoints;
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("origin")) {
-       throw new IllegalArgumentException("Request must contain 'origin'");
-     }
-     if (!params().containsKey("destination")) {
-       throw new IllegalArgumentException("Request must contain 'destination'");
-     }
-     if (params().containsKey("arrival_time") && params().containsKey("departure_time")) {
-       throw new IllegalArgumentException(
-           "Transit request must not contain both a departureTime and an arrivalTime");
-     }
-     if (params().containsKey("traffic_model") && !params().containsKey("departure_time")) {
-       throw new IllegalArgumentException(
-           "Specifying a traffic model requires that departure time be provided.");
-     }
-   }
- 
-   /**
-    * The address or textual latitude/longitude value from which you wish to calculate directions. If
-    * you pass an address as a location, the Directions service will geocode the location and convert
-    * it to a latitude/longitude coordinate to calculate directions. If you pass coordinates, ensure
-    * that no space exists between the latitude and longitude values.
-    *
-    * @param origin The starting location for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest origin(String origin) {
-     return param("origin", origin);
-   }
- 
-   /**
-    * The address or textual latitude/longitude value from which you wish to calculate directions. If
-    * you pass an address as a location, the Directions service will geocode the location and convert
-    * it to a latitude/longitude coordinate to calculate directions. If you pass coordinates, ensure
-    * that no space exists between the latitude and longitude values.
-    *
-    * @param destination The ending location for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest destination(String destination) {
-     return param("destination", destination);
-   }
- 
-   /**
-    * The Place ID value from which you wish to calculate directions.
-    *
-    * @param originPlaceId The starting location Place ID for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest originPlaceId(String originPlaceId) {
-     return param("origin", prefixPlaceId(originPlaceId));
-   }
- 
-   /**
-    * The Place ID value from which you wish to calculate directions.
-    *
-    * @param destinationPlaceId The ending location Place ID for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest destinationPlaceId(String destinationPlaceId) {
-     return param("destination", prefixPlaceId(destinationPlaceId));
-   }
- 
-   /**
-    * The origin, as a latitude/longitude location.
-    *
-    * @param origin The starting location for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest origin(LatLng origin) {
-     return origin(origin.toString());
-   }
- 
-   /**
-    * The destination, as a latitude/longitude location.
-    *
-    * @param destination The ending location for the Directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest destination(LatLng destination) {
-     return destination(destination.toString());
-   }
- 
-   /**
-    * Specifies the mode of transport to use when calculating directions. The mode defaults to
-    * driving if left unspecified. If you set the mode to {@code TRANSIT} you must also specify
-    * either a {@code departureTime} or an {@code arrivalTime}.
-    *
-    * @param mode The travel mode to request directions for.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest mode(TravelMode mode) {
-     return param("mode", mode);
-   }
- 
-   /**
-    * Indicates that the calculated route(s) should avoid the indicated features.
-    *
-    * @param restrictions one or more of {@link DirectionsApi.RouteRestriction} objects.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest avoid(DirectionsApi.RouteRestriction... restrictions) {
-     return param("avoid", join('|', restrictions));
-   }
- 
-   /**
-    * Specifies the unit system to use when displaying results.
-    *
-    * @param units The preferred units for displaying distances.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest units(Unit units) {
-     return param("units", units);
-   }
- 
-   /**
-    * @param region The region code, specified as a ccTLD ("top-level domain") two-character value.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest region(String region) {
-     return param("region", region);
-   }
- 
-   /**
-    * Set the arrival time for a Transit directions request.
-    *
-    * @param time The arrival time to calculate directions for.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest arrivalTime(Instant time) {
-     return param("arrival_time", Long.toString(time.toEpochMilli() / 1000L));
-   }
- 
-   /**
-    * Set the departure time for a transit or driving directions request. If both departure time and
-    * traffic model are not provided, then "now" is assumed. If traffic model is supplied, then
-    * departure time must be specified. Duration in traffic will only be returned if the departure
-    * time is specified.
-    *
-    * @param time The departure time to calculate directions for.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest departureTime(Instant time) {
-     return param("departure_time", Long.toString(time.toEpochMilli() / 1000L));
-   }
- 
-   /**
-    * Set the departure time for a transit or driving directions request as the current time. If
-    * traffic model is supplied, then departure time must be specified. Duration in traffic will only
-    * be returned if the departure time is specified.
-    *
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest departureTimeNow() {
-     return param("departure_time", "now");
-   }
- 
-   /**
-    * Specifies a list of waypoints. Waypoints alter a route by routing it through the specified
-    * location(s). A waypoint is specified as either a latitude/longitude coordinate or as an address
-    * which will be geocoded. Waypoints are only supported for driving, walking and bicycling
-    * directions.
-    *
-    * <p>For more information on waypoints, see <a
-    * href="https://developers.google.com/maps/documentation/directions/intro#Waypoints">Using
-    * Waypoints in Routes</a>.
-    *
-    * @param waypoints The waypoints to add to this directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest waypoints(Waypoint... waypoints) {
-     if (waypoints == null || waypoints.length == 0) {
-       this.waypoints = new Waypoint[0];
-       param("waypoints", "");
-       return this;
-     } else {
-       this.waypoints = waypoints;
-       String[] waypointStrs = new String[waypoints.length];
-       for (int i = 0; i < waypoints.length; i++) {
-         waypointStrs[i] = waypoints[i].toString();
-       }
-       param("waypoints", (optimizeWaypoints ? "optimize:true|" : "") + join('|', waypointStrs));
-       return this;
-     }
-   }
- 
-   /**
-    * Specifies the list of waypoints as String addresses. If any of the Strings are Place IDs, you
-    * must prefix them with {@code place_id:}.
-    *
-    * <p>See {@link #prefixPlaceId(String)}.
-    *
-    * <p>See {@link #waypoints(Waypoint...)}.
-    *
-    * @param waypoints The waypoints to add to this directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest waypoints(String... waypoints) {
-     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
-     for (int i = 0; i < waypoints.length; i++) {
-       objWaypoints[i] = new Waypoint(waypoints[i]);
-     }
-     return waypoints(objWaypoints);
-   }
- 
-   /**
-    * Specifies the list of waypoints as Plade ID Strings, prefixing them as required by the API.
-    *
-    * <p>See {@link #prefixPlaceId(String)}.
-    *
-    * <p>See {@link #waypoints(Waypoint...)}.
-    *
-    * @param waypoints The waypoints to add to this directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest waypointsFromPlaceIds(String... waypoints) {
-     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
-     for (int i = 0; i < waypoints.length; i++) {
-       objWaypoints[i] = new Waypoint(prefixPlaceId(waypoints[i]));
-     }
-     return waypoints(objWaypoints);
-   }
- 
-   /**
-    * The list of waypoints as latitude/longitude locations.
-    *
-    * <p>See {@link #waypoints(Waypoint...)}.
-    *
-    * @param waypoints The waypoints to add to this directions request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest waypoints(LatLng... waypoints) {
-     Waypoint[] objWaypoints = new Waypoint[waypoints.length];
-     for (int i = 0; i < waypoints.length; i++) {
-       objWaypoints[i] = new Waypoint(waypoints[i]);
-     }
-     return waypoints(objWaypoints);
-   }
- 
-   /**
-    * Allow the Directions service to optimize the provided route by rearranging the waypoints in a
-    * more efficient order.
-    *
-    * @param optimize Whether to optimize waypoints.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest optimizeWaypoints(boolean optimize) {
-     optimizeWaypoints = optimize;
-     if (waypoints != null) {
-       return waypoints(waypoints);
-     } else {
-       return this;
-     }
-   }
- 
-   /**
-    * If set to true, specifies that the Directions service may provide more than one route
-    * alternative in the response. Note that providing route alternatives may increase the response
-    * time from the server.
-    *
-    * @param alternateRoutes whether to return alternate routes.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest alternatives(boolean alternateRoutes) {
-     if (alternateRoutes) {
-       return param("alternatives", "true");
-     } else {
-       return param("alternatives", "false");
-     }
-   }
- 
-   /**
-    * Specifies one or more preferred modes of transit. This parameter may only be specified for
-    * requests where the mode is transit.
-    *
-    * @param transitModes The preferred transit modes.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest transitMode(TransitMode... transitModes) {
-     return param("transit_mode", join('|', transitModes));
-   }
- 
-   /**
-    * Specifies preferences for transit requests. Using this parameter, you can bias the options
-    * returned, rather than accepting the default best route chosen by the API.
-    *
-    * @param pref The transit routing preferences for this request.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest transitRoutingPreference(TransitRoutingPreference pref) {
-     return param("transit_routing_preference", pref);
-   }
- 
-   /**
-    * Specifies the traffic model to use when requesting future driving directions. Once set, you
-    * must specify a departure time.
-    *
-    * @param trafficModel The traffic model for estimating driving time.
-    * @return Returns this {@code DirectionsApiRequest} for call chaining.
-    */
-   public DirectionsApiRequest trafficModel(TrafficModel trafficModel) {
-     return param("traffic_model", trafficModel);
-   }
- 
-   /**
-    * Helper method for prefixing a Place ID, as specified by the API.
-    *
-    * @param placeId The Place ID to be prefixed.
-    * @return Returns the Place ID prefixed with {@code place_id:}.
-    */
-   public String prefixPlaceId(String placeId) {
-     return "place_id:" + placeId;
-   }
- 
-   public static class Waypoint {
-     /** The location of this waypoint, expressed as an API-recognized location. */
-     private String location;
-     /** Whether this waypoint is a stopover waypoint. */
-     private boolean isStopover;
- 
-     /**
-      * Constructs a stopover Waypoint using a String address.
-      *
-      * @param location Any address or location recognized by the Google Maps API.
-      */
-     public Waypoint(String location) {
-       this(location, true);
-     }
- 
-     /**
-      * Constructs a Waypoint using a String address.
-      *
-      * @param location Any address or location recognized by the Google Maps API.
-      * @param isStopover Whether this waypoint is a stopover waypoint.
-      */
-     public Waypoint(String location, boolean isStopover) {
-       requireNonNull(location, "address may not be null");
-       this.location = location;
-       this.isStopover = isStopover;
-     }
- 
-     /**
-      * Constructs a stopover Waypoint using a Latlng location.
-      *
-      * @param location The LatLng coordinates of this waypoint.
-      */
-     public Waypoint(LatLng location) {
-       this(location, true);
-     }
- 
-     /**
-      * Constructs a Waypoint using a LatLng location.
-      *
-      * @param location The LatLng coordinates of this waypoint.
-      * @param isStopover Whether this waypoint is a stopover waypoint.
-      */
-     public Waypoint(LatLng location, boolean isStopover) {
-       requireNonNull(location, "location may not be null");
-       this.location = location.toString();
-       this.isStopover = isStopover;
-     }
- 
-     /**
-      * Gets the String representation of this Waypoint, as an API request parameter fragment.
-      *
-      * @return The HTTP parameter fragment representing this waypoint.
-      */
-     @Override
-     public String toString() {
-       if (isStopover) {
-         return location;
-       } else {
-         return "via:" + location;
-       }
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-3.html b/CodeCoverageReport/ns-1/sources/source-3.html deleted file mode 100644 index e769e080b..000000000 --- a/CodeCoverageReport/ns-1/sources/source-3.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrixApi - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrixApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
DistanceMatrixApi - - 75% - - - (3/4) - - - - 75% - - - (3/4) - -
DistanceMatrixApi$Response - - 75% - - - (3/4) - - - - 0% - - - (0/2) - - - - 50% - - - (3/6) - -
Total - - 75% - - - (6/8) - - - - 0% - - - (0/2) - - - - 60% - - - (6/10) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.DistanceMatrix;
- import com.google.maps.model.DistanceMatrixRow;
- 
- /**
-  * The Google Distance Matrix API is a service that provides travel distance and time for a matrix
-  * of origins and destinations. The information returned is based on the recommended route between
-  * start and end points, as calculated by the Google Maps API, and consists of rows containing
-  * duration and distance values for each pair.
-  *
-  * <p>This service does not return detailed route information. Route information can be obtained by
-  * passing the desired single origin and destination to the Directions API, using {@link
-  * com.google.maps.DirectionsApi}.
-  *
-  * <p><strong>Note:</strong> You can display Distance Matrix API results on a Google Map, or without
-  * a map. If you want to display Distance Matrix API results on a map, then these results must be
-  * displayed on a Google Map. It is prohibited to use Distance Matrix API data on a map that is not
-  * a Google map.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/distancematrix/">Distance Matrix
-  *     API Documentation</a>
-  */
- public class DistanceMatrixApi {
-   static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/distancematrix/json");
- 
-   private DistanceMatrixApi() {}
- 
-   public static DistanceMatrixApiRequest newRequest(GeoApiContext context) {
-     return new DistanceMatrixApiRequest(context);
-   }
- 
-   public static DistanceMatrixApiRequest getDistanceMatrix(
-       GeoApiContext context, String[] origins, String[] destinations) {
-     return newRequest(context).origins(origins).destinations(destinations);
-   }
- 
-   public static class Response implements ApiResponse<DistanceMatrix> {
-     public String status;
-     public String errorMessage;
-     public String[] originAddresses;
-     public String[] destinationAddresses;
-     public DistanceMatrixRow[] rows;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status);
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
- 
-     @Override
-     public DistanceMatrix getResult() {
-       return new DistanceMatrix(originAddresses, destinationAddresses, rows);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-4.html b/CodeCoverageReport/ns-1/sources/source-4.html deleted file mode 100644 index c1ae63ae3..000000000 --- a/CodeCoverageReport/ns-1/sources/source-4.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrixApiRequest - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrixApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DistanceMatrixApiRequest - - 100% - - - (1/1) - - - - 78.6% - - - (11/14) - - - - 56.2% - - - (9/16) - - - - 73.1% - - - (19/26) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.maps.DirectionsApi.RouteRestriction;
- import com.google.maps.DistanceMatrixApi.Response;
- import com.google.maps.model.DistanceMatrix;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.TrafficModel;
- import com.google.maps.model.TransitMode;
- import com.google.maps.model.TransitRoutingPreference;
- import com.google.maps.model.TravelMode;
- import com.google.maps.model.Unit;
- import java.time.Instant;
- 
- /** A request to the Distance Matrix API. */
- public class DistanceMatrixApiRequest
-     extends PendingResultBase<DistanceMatrix, DistanceMatrixApiRequest, Response> {
- 
-   public DistanceMatrixApiRequest(GeoApiContext context) {
-     super(context, DistanceMatrixApi.API_CONFIG, Response.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("origins")) {
-       throw new IllegalArgumentException("Request must contain 'origins'");
-     }
-     if (!params().containsKey("destinations")) {
-       throw new IllegalArgumentException("Request must contain 'destinations'");
-     }
-     if (params().containsKey("arrival_time") && params().containsKey("departure_time")) {
-       throw new IllegalArgumentException(
-           "Transit request must not contain both a departureTime and an arrivalTime");
-     }
-   }
- 
-   /**
-    * One or more addresses from which to calculate distance and time. The service will geocode the
-    * strings and convert them to latitude/longitude coordinates to calculate directions.
-    *
-    * @param origins Strings to geocode and use as an origin point (e.g. "New York, NY")
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest origins(String... origins) {
-     return param("origins", join('|', origins));
-   }
- 
-   /**
-    * One or more latitude/longitude values from which to calculate distance and time.
-    *
-    * @param points The origin points.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest origins(LatLng... points) {
-     return param("origins", join('|', points));
-   }
- 
-   /**
-    * One or more addresses to which to calculate distance and time. The service will geocode the
-    * strings and convert them to latitude/longitude coordinates to calculate directions.
-    *
-    * @param destinations Strings to geocode and use as a destination point (e.g. "Jersey City, NJ")
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest destinations(String... destinations) {
-     return param("destinations", join('|', destinations));
-   }
- 
-   /**
-    * One or more latitude/longitude values to which to calculate distance and time.
-    *
-    * @param points The destination points.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest destinations(LatLng... points) {
-     return param("destinations", join('|', points));
-   }
- 
-   /**
-    * Specifies the mode of transport to use when calculating directions.
-    *
-    * <p>Note that Distance Matrix requests only support {@link TravelMode#DRIVING}, {@link
-    * TravelMode#WALKING}, {@link TravelMode#BICYCLING} and {@link TravelMode#TRANSIT}.
-    *
-    * @param mode One of the travel modes supported by the Distance Matrix API.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest mode(TravelMode mode) {
-     if (TravelMode.DRIVING.equals(mode)
-         || TravelMode.WALKING.equals(mode)
-         || TravelMode.BICYCLING.equals(mode)
-         || TravelMode.TRANSIT.equals(mode)) {
-       return param("mode", mode);
-     }
-     throw new IllegalArgumentException(
-         "Distance Matrix API travel modes must be Driving, Transit, Walking or Bicycling");
-   }
- 
-   /**
-    * Introduces restrictions to the route. Only one restriction can be specified.
-    *
-    * @param restriction A {@link RouteRestriction} object.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest avoid(RouteRestriction restriction) {
-     return param("avoid", restriction);
-   }
- 
-   /**
-    * Specifies the unit system to use when expressing distance as text. Distance Matrix results
-    * contain text within distance fields to indicate the distance of the calculated route.
-    *
-    * @param unit One of {@link Unit#METRIC} or {@link Unit#IMPERIAL}.
-    * @see <a
-    *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#unit_systems">
-    *     Unit systems in the Distance Matrix API</a>
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest units(Unit unit) {
-     return param("units", unit);
-   }
- 
-   /**
-    * Specifies the desired time of departure.
-    *
-    * <p>The departure time may be specified in two cases:
-    *
-    * <ul>
-    *   <li>For requests where the travel mode is transit: You can optionally specify one of
-    *       departure_time or arrival_time. If neither time is specified, the departure_time defaults
-    *       to now. (That is, the departure time defaults to the current time.)
-    *   <li>For requests where the travel mode is driving: Google Maps API for Work customers can
-    *       specify the departure_time to receive trip duration considering current traffic
-    *       conditions. The departure_time must be set to within a few minutes of the current time.
-    * </ul>
-    *
-    * <p>Setting the parameter to null will remove it from the API request.
-    *
-    * @param departureTime The time of departure.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest departureTime(Instant departureTime) {
-     return param("departure_time", Long.toString(departureTime.toEpochMilli() / 1000L));
-   }
- 
-   /**
-    * Specifies the assumptions to use when calculating time in traffic. This parameter may only be
-    * specified when the travel mode is driving and the request includes a departure_time.
-    *
-    * @param trafficModel The traffic model to use in estimating time in traffic.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest trafficModel(TrafficModel trafficModel) {
-     return param("traffic_model", trafficModel);
-   }
- 
-   /**
-    * Specifies the desired time of arrival for transit requests. You can specify either
-    * departure_time or arrival_time, but not both.
-    *
-    * @param arrivalTime The preferred arrival time.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest arrivalTime(Instant arrivalTime) {
-     return param("arrival_time", Long.toString(arrivalTime.toEpochMilli() / 1000L));
-   }
- 
-   /**
-    * Specifies one or more preferred modes of transit. This parameter may only be specified for
-    * requests where the mode is transit.
-    *
-    * @param transitModes The preferred transit modes.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest transitModes(TransitMode... transitModes) {
-     return param("transit_mode", join('|', transitModes));
-   }
- 
-   /**
-    * Specifies preferences for transit requests. Using this parameter, you can bias the options
-    * returned, rather than accepting the default best route chosen by the API.
-    *
-    * @param pref The transit routing preference for this distance matrix.
-    * @return Returns this {@code DistanceMatrixApiRequest} for call chaining.
-    */
-   public DistanceMatrixApiRequest transitRoutingPreference(TransitRoutingPreference pref) {
-     return param("transit_routing_preference", pref);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-5.html b/CodeCoverageReport/ns-1/sources/source-5.html deleted file mode 100644 index b362ad2cf..000000000 --- a/CodeCoverageReport/ns-1/sources/source-5.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - Coverage Report > ElevationApi - - - - - - -
- - -

Coverage Summary for Class: ElevationApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
ElevationApi - - 87.5% - - - (7/8) - - - - 50% - - - (1/2) - - - - 93.3% - - - (14/15) - -
ElevationApi$MultiResponse - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 83.3% - - - (5/6) - -
ElevationApi$SingularResponse - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 83.3% - - - (5/6) - -
Total - - 93.8% - - - (15/16) - - - - 50% - - - (3/6) - - - - 88.9% - - - (24/27) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.PolylineEncoding;
- import com.google.maps.model.ElevationResult;
- import com.google.maps.model.EncodedPolyline;
- import com.google.maps.model.LatLng;
- 
- /**
-  * The Google Elevation API provides a simple interface to query locations on the earth for
-  * elevation data. Additionally, you may request sampled elevation data along paths, allowing you to
-  * calculate elevation changes along routes.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/elevation/start">the Google Maps
-  * Elevation API documentation</a>.
-  */
- public class ElevationApi {
-   private static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/elevation/json");
- 
-   private ElevationApi() {}
- 
-   /**
-    * Gets a list of elevations for a list of points.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param points The points to retrieve elevations for.
-    * @return The elevations as a {@link PendingResult}.
-    */
-   public static PendingResult<ElevationResult[]> getByPoints(
-       GeoApiContext context, LatLng... points) {
-     return context.get(API_CONFIG, MultiResponse.class, "locations", shortestParam(points));
-   }
- 
-   /**
-    * See <a href="https://developers.google.com/maps/documentation/elevation/intro#Paths">
-    * documentation</a>.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param samples The number of samples to retrieve heights along {@code path}.
-    * @param path The path to sample.
-    * @return The elevations as a {@link PendingResult}.
-    */
-   public static PendingResult<ElevationResult[]> getByPath(
-       GeoApiContext context, int samples, LatLng... path) {
-     return context.get(
-         API_CONFIG,
-         MultiResponse.class,
-         "samples",
-         String.valueOf(samples),
-         "path",
-         shortestParam(path));
-   }
- 
-   /**
-    * See <a href="https://developers.google.com/maps/documentation/elevation/intro#Paths">
-    * documentation</a>.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param samples The number of samples to retrieve heights along {@code encodedPolyline}.
-    * @param encodedPolyline The path to sample as an encoded polyline.
-    * @return The elevations as a {@link PendingResult}.
-    */
-   public static PendingResult<ElevationResult[]> getByPath(
-       GeoApiContext context, int samples, EncodedPolyline encodedPolyline) {
-     return context.get(
-         API_CONFIG,
-         MultiResponse.class,
-         "samples",
-         String.valueOf(samples),
-         "path",
-         "enc:" + encodedPolyline.getEncodedPath());
-   }
- 
-   /**
-    * Chooses the shortest param (only a guess, since the length is different after URL encoding).
-    */
-   private static String shortestParam(LatLng[] points) {
-     String joined = join('|', points);
-     String encoded = "enc:" + PolylineEncoding.encode(points);
-     return joined.length() < encoded.length() ? joined : encoded;
-   }
- 
-   /**
-    * Retrieves the elevation of a single location.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param location The location to retrieve the elevation for.
-    * @return The elevation as a {@link PendingResult}.
-    */
-   public static PendingResult<ElevationResult> getByPoint(GeoApiContext context, LatLng location) {
-     return context.get(API_CONFIG, SingularResponse.class, "locations", location.toString());
-   }
- 
-   private static class SingularResponse implements ApiResponse<ElevationResult> {
-     public String status;
-     public String errorMessage;
-     public ElevationResult[] results;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status);
-     }
- 
-     @Override
-     public ElevationResult getResult() {
-       return results[0];
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- 
-   /**
-    * Retrieves the elevations of an encoded polyline path.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param encodedPolyline The encoded polyline to retrieve elevations for.
-    * @return The elevations as a {@link PendingResult}.
-    */
-   public static PendingResult<ElevationResult[]> getByPoints(
-       GeoApiContext context, EncodedPolyline encodedPolyline) {
-     return context.get(
-         API_CONFIG, MultiResponse.class, "locations", "enc:" + encodedPolyline.getEncodedPath());
-   }
- 
-   private static class MultiResponse implements ApiResponse<ElevationResult[]> {
-     public String status;
-     public String errorMessage;
-     public ElevationResult[] results;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status);
-     }
- 
-     @Override
-     public ElevationResult[] getResult() {
-       return results;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-6.html b/CodeCoverageReport/ns-1/sources/source-6.html deleted file mode 100644 index 564db212d..000000000 --- a/CodeCoverageReport/ns-1/sources/source-6.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - - Coverage Report > FindPlaceFromTextRequest - - - - - - -
- - -

Coverage Summary for Class: FindPlaceFromTextRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
FindPlaceFromTextRequest - - 100% - - - (7/7) - - - - 50% - - - (2/4) - - - - 85.7% - - - (12/14) - -
FindPlaceFromTextRequest$FieldMask - - 100% - - - (3/3) - - - - 100% - - - (18/18) - -
FindPlaceFromTextRequest$InputType - - 100% - - - (3/3) - - - - 100% - - - (7/7) - -
FindPlaceFromTextRequest$LocationBias
FindPlaceFromTextRequest$LocationBiasCircular - - 100% - - - (2/2) - - - - 100% - - - (5/5) - -
FindPlaceFromTextRequest$LocationBiasIP - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
FindPlaceFromTextRequest$LocationBiasPoint - - 100% - - - (2/2) - - - - 100% - - - (4/4) - -
FindPlaceFromTextRequest$LocationBiasRectangular - - 100% - - - (2/2) - - - - 100% - - - (5/5) - -
FindPlaceFromTextRequest$Response - - 75% - - - (3/4) - - - - 16.7% - - - (1/6) - - - - 62.5% - - - (5/8) - -
Total - - 96% - - - (24/25) - - - - 30% - - - (3/10) - - - - 92.1% - - - (58/63) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.internal.StringJoin.UrlValue;
- import com.google.maps.model.FindPlaceFromText;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.PlacesSearchResult;
- 
- public class FindPlaceFromTextRequest
-     extends PendingResultBase<
-         FindPlaceFromText, FindPlaceFromTextRequest, FindPlaceFromTextRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/findplacefromtext/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
-           .supportsClientId(false);
- 
-   public FindPlaceFromTextRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   public enum InputType implements UrlValue {
-     TEXT_QUERY("textquery"),
-     PHONE_NUMBER("phonenumber");
- 
-     private final String inputType;
- 
-     InputType(final String inputType) {
-       this.inputType = inputType;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return this.inputType;
-     }
-   }
- 
-   /**
-    * The text input specifying which place to search for (for example, a name, address, or phone
-    * number).
-    *
-    * @param input The text input.
-    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
-    */
-   public FindPlaceFromTextRequest input(String input) {
-     return param("input", input);
-   }
- 
-   /**
-    * The type of input.
-    *
-    * @param inputType The input type.
-    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
-    */
-   public FindPlaceFromTextRequest inputType(InputType inputType) {
-     return param("inputtype", inputType);
-   }
- 
-   /**
-    * The fields specifying the types of place data to return.
-    *
-    * @param fields The fields to return.
-    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
-    */
-   public FindPlaceFromTextRequest fields(FieldMask... fields) {
-     return param("fields", StringJoin.join(',', fields));
-   }
- 
-   /**
-    * Prefer results in a specified area, by specifying either a radius plus lat/lng, or two lat/lng
-    * pairs representing the points of a rectangle.
-    *
-    * @param locationBias The location bias for this request.
-    * @return Returns {@code FindPlaceFromTextRequest} for call chaining.
-    */
-   public FindPlaceFromTextRequest locationBias(LocationBias locationBias) {
-     return param("locationbias", locationBias);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("input")) {
-       throw new IllegalArgumentException("Request must contain 'input'.");
-     }
-     if (!params().containsKey("inputtype")) {
-       throw new IllegalArgumentException("Request must contain 'inputType'.");
-     }
-   }
- 
-   public static class Response implements ApiResponse<FindPlaceFromText> {
- 
-     public String status;
-     public PlacesSearchResult candidates[];
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public FindPlaceFromText getResult() {
-       FindPlaceFromText result = new FindPlaceFromText();
-       result.candidates = candidates;
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- 
-   public enum FieldMask implements UrlValue {
-     BUSINESS_STATUS("business_status"),
-     FORMATTED_ADDRESS("formatted_address"),
-     GEOMETRY("geometry"),
-     ICON("icon"),
-     ID("id"),
-     NAME("name"),
-     OPENING_HOURS("opening_hours"),
-     @Deprecated
-     PERMANENTLY_CLOSED("permanently_closed"),
-     PHOTOS("photos"),
-     PLACE_ID("place_id"),
-     PRICE_LEVEL("price_level"),
-     RATING("rating"),
-     TYPES("types");
- 
-     private final String field;
- 
-     FieldMask(final String field) {
-       this.field = field;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return field;
-     }
-   }
- 
-   public interface LocationBias extends UrlValue {}
- 
-   public static class LocationBiasIP implements LocationBias {
-     @Override
-     public String toUrlValue() {
-       return "ipbias";
-     }
-   }
- 
-   public static class LocationBiasPoint implements LocationBias {
-     private final LatLng point;
- 
-     public LocationBiasPoint(LatLng point) {
-       this.point = point;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return "point:" + point.toUrlValue();
-     }
-   }
- 
-   public static class LocationBiasCircular implements LocationBias {
-     private final LatLng center;
-     private final int radius;
- 
-     public LocationBiasCircular(LatLng center, int radius) {
-       this.center = center;
-       this.radius = radius;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return "circle:" + radius + "@" + center.toUrlValue();
-     }
-   }
- 
-   public static class LocationBiasRectangular implements LocationBias {
-     private final LatLng southWest;
-     private final LatLng northEast;
- 
-     public LocationBiasRectangular(LatLng southWest, LatLng northEast) {
-       this.southWest = southWest;
-       this.northEast = northEast;
-     }
- 
-     @Override
-     public String toUrlValue() {
-       return "rectangle:" + southWest.toUrlValue() + "|" + northEast.toUrlValue();
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-7.html b/CodeCoverageReport/ns-1/sources/source-7.html deleted file mode 100644 index bd77c0978..000000000 --- a/CodeCoverageReport/ns-1/sources/source-7.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - Coverage Report > GaeRequestHandler - - - - - - -
- - -

Coverage Summary for Class: GaeRequestHandler (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Line, % -
GaeRequestHandler - - 0% - - - (0/7) - - - - 0% - - - (0/24) - -
GaeRequestHandler$Builder - - 0% - - - (0/8) - - - - 0% - - - (0/8) - -
Total - - 0% - - - (0/15) - - - - 0% - - - (0/32) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static java.nio.charset.StandardCharsets.UTF_8;
- 
- import com.google.appengine.api.urlfetch.FetchOptions;
- import com.google.appengine.api.urlfetch.HTTPHeader;
- import com.google.appengine.api.urlfetch.HTTPMethod;
- import com.google.appengine.api.urlfetch.HTTPRequest;
- import com.google.appengine.api.urlfetch.URLFetchService;
- import com.google.appengine.api.urlfetch.URLFetchServiceFactory;
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.GeoApiContext.RequestHandler;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.ExceptionsAllowedToRetry;
- import com.google.maps.internal.GaePendingResult;
- import com.google.maps.metrics.RequestMetrics;
- import java.net.MalformedURLException;
- import java.net.Proxy;
- import java.net.URL;
- import java.util.Map;
- import java.util.concurrent.TimeUnit;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 
- /**
-  * A strategy for handling URL requests using Google App Engine's URL Fetch API.
-  *
-  * @see com.google.maps.GeoApiContext.RequestHandler
-  */
- public class GaeRequestHandler implements GeoApiContext.RequestHandler {
-   private static final Logger LOG = LoggerFactory.getLogger(GaeRequestHandler.class.getName());
-   private final URLFetchService client = URLFetchServiceFactory.getURLFetchService();
- 
-   /* package */ GaeRequestHandler() {}
- 
-   @Override
-   public <T, R extends ApiResponse<T>> PendingResult<T> handle(
-       String hostName,
-       String url,
-       Map<String, String> headers,
-       Class<R> clazz,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeout,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     FetchOptions fetchOptions = FetchOptions.Builder.withDeadline(10);
-     final HTTPRequest req;
-     try {
-       req = new HTTPRequest(new URL(hostName + url), HTTPMethod.POST, fetchOptions);
-       headers.forEach(
-           (k, v) -> {
-             req.addHeader(new HTTPHeader(k, v));
-           });
-     } catch (MalformedURLException e) {
-       LOG.error("Request: {}{}", hostName, url, e);
-       throw (new RuntimeException(e));
-     }
- 
-     return new GaePendingResult<>(
-         req,
-         client,
-         clazz,
-         fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         metrics);
-   }
- 
-   @Override
-   public <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
-       String hostName,
-       String url,
-       String payload,
-       Map<String, String> headers,
-       Class<R> clazz,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeout,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     FetchOptions fetchOptions = FetchOptions.Builder.withDeadline(10);
-     final HTTPRequest req;
-     try {
-       req = new HTTPRequest(new URL(hostName + url), HTTPMethod.POST, fetchOptions);
-       req.setHeader(new HTTPHeader("Content-Type", "application/json; charset=utf-8"));
-       headers.forEach(
-           (k, v) -> {
-             req.addHeader(new HTTPHeader(k, v));
-           });
-       req.setPayload(payload.getBytes(UTF_8));
-     } catch (MalformedURLException e) {
-       LOG.error("Request: {}{}", hostName, url, e);
-       throw (new RuntimeException(e));
-     }
- 
-     return new GaePendingResult<>(
-         req,
-         client,
-         clazz,
-         fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         metrics);
-   }
- 
-   @Override
-   public void shutdown() {
-     // do nothing
-   }
- 
-   /** Builder strategy for constructing {@code GaeRequestHandler}. */
-   public static class Builder implements GeoApiContext.RequestHandler.Builder {
- 
-     @Override
-     public Builder connectTimeout(long timeout, TimeUnit unit) {
-       throw new RuntimeException("connectTimeout not implemented for Google App Engine");
-     }
- 
-     @Override
-     public Builder readTimeout(long timeout, TimeUnit unit) {
-       throw new RuntimeException("readTimeout not implemented for Google App Engine");
-     }
- 
-     @Override
-     public Builder writeTimeout(long timeout, TimeUnit unit) {
-       throw new RuntimeException("writeTimeout not implemented for Google App Engine");
-     }
- 
-     @Override
-     public Builder queriesPerSecond(int maxQps) {
-       throw new RuntimeException("queriesPerSecond not implemented for Google App Engine");
-     }
- 
-     @Override
-     public Builder proxy(Proxy proxy) {
-       throw new RuntimeException("setProxy not implemented for Google App Engine");
-     }
- 
-     @Override
-     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
-       throw new RuntimeException("setProxyAuthentication not implemented for Google App Engine");
-     }
- 
-     @Override
-     public RequestHandler build() {
-       return new GaeRequestHandler();
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-8.html b/CodeCoverageReport/ns-1/sources/source-8.html deleted file mode 100644 index 18ab6b15a..000000000 --- a/CodeCoverageReport/ns-1/sources/source-8.html +++ /dev/null @@ -1,796 +0,0 @@ - - - - - - - - Coverage Report > GeoApiContext - - - - - - -
- - -

Coverage Summary for Class: GeoApiContext (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
GeoApiContext - - 83.3% - - - (10/12) - - - - 55% - - - (33/60) - - - - 79% - - - (79/100) - -
GeoApiContext$Builder - - 55% - - - (11/20) - - - - 25% - - - (1/4) - - - - 55.8% - - - (29/52) - -
GeoApiContext$RequestHandler
GeoApiContext$RequestHandler$Builder
Total - - 65.6% - - - (21/32) - - - - 53.1% - - - (34/64) - - - - 71.1% - - - (108/152) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.errors.OverQueryLimitException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.internal.ExceptionsAllowedToRetry;
- import com.google.maps.internal.HttpHeaders;
- import com.google.maps.internal.UrlSigner;
- import com.google.maps.metrics.NoOpRequestMetricsReporter;
- import com.google.maps.metrics.RequestMetrics;
- import com.google.maps.metrics.RequestMetricsReporter;
- import java.io.Closeable;
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.net.Proxy;
- import java.net.URLEncoder;
- import java.security.InvalidKeyException;
- import java.security.NoSuchAlgorithmException;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.concurrent.TimeUnit;
- 
- /**
-  * The entry point for making requests against the Google Geo APIs.
-  *
-  * <p>Construct this object by using the enclosed {@link GeoApiContext.Builder}.
-  *
-  * <h3>GeoApiContexts should be shared</h3>
-  *
-  * GeoApiContext works best when you create a single GeoApiContext instance, or one per API key, and
-  * reuse it for all your Google Geo API queries. This is because each GeoApiContext manages its own
-  * thread pool, back-end client, and other resources.
-  *
-  * <p>When you are finished with a GeoApiContext object, you must call {@link #shutdown()} on it to
-  * release its resources.
-  */
- public class GeoApiContext implements Closeable {
- 
-   private static final String VERSION = "@VERSION@"; // Populated by the build script
-   private static final String USER_AGENT = "GoogleGeoApiClientJava/" + VERSION;
-   private static final int DEFAULT_BACKOFF_TIMEOUT_MILLIS = 60 * 1000; // 60s
- 
-   private final RequestHandler requestHandler;
-   private final String apiKey;
-   private final String baseUrlOverride;
-   private final String channel;
-   private final String clientId;
-   private final long errorTimeout;
-   private final ExceptionsAllowedToRetry exceptionsAllowedToRetry;
-   private final Integer maxRetries;
-   private final UrlSigner urlSigner;
-   private final RequestMetricsReporter requestMetricsReporter;
-   private final Map<String, String> defaultHeaders = new HashMap<>();
- 
-   /* package */
-   GeoApiContext(
-       RequestHandler requestHandler,
-       String apiKey,
-       String baseUrlOverride,
-       String channel,
-       String clientId,
-       long errorTimeout,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       Integer maxRetries,
-       UrlSigner urlSigner,
-       RequestMetricsReporter requestMetricsReporter) {
-     this.requestHandler = requestHandler;
-     this.apiKey = apiKey;
-     this.baseUrlOverride = baseUrlOverride;
-     this.channel = channel;
-     this.clientId = clientId;
-     this.errorTimeout = errorTimeout;
-     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
-     this.maxRetries = maxRetries;
-     this.urlSigner = urlSigner;
-     this.requestMetricsReporter = requestMetricsReporter;
-     defaultHeaders.put(HttpHeaders.USER_AGENT, USER_AGENT);
-   }
- 
-   /**
-    * standard Java API to reclaim resources
-    *
-    * @throws IOException
-    */
-   @Override
-   public void close() throws IOException {
-     shutdown();
-   }
- 
-   /**
-    * The service provider interface that enables requests to be handled via switchable back ends.
-    * There are supplied implementations of this interface for both OkHttp and Google App Engine's
-    * URL Fetch API.
-    *
-    * @see OkHttpRequestHandler
-    * @see GaeRequestHandler
-    */
-   public interface RequestHandler {
- 
-     <T, R extends ApiResponse<T>> PendingResult<T> handle(
-         String hostName,
-         String url,
-         Map<String, String> headers,
-         Class<R> clazz,
-         FieldNamingPolicy fieldNamingPolicy,
-         long errorTimeout,
-         Integer maxRetries,
-         ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-         RequestMetrics metrics);
- 
-     <T, R extends ApiResponse<T>> PendingResult<T> handlePost(
-         String hostName,
-         String url,
-         String payload,
-         Map<String, String> headers,
-         Class<R> clazz,
-         FieldNamingPolicy fieldNamingPolicy,
-         long errorTimeout,
-         Integer maxRetries,
-         ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-         RequestMetrics metrics);
- 
-     void shutdown();
- 
-     /** Builder pattern for {@code GeoApiContext.RequestHandler}. */
-     interface Builder {
- 
-       Builder connectTimeout(long timeout, TimeUnit unit);
- 
-       Builder readTimeout(long timeout, TimeUnit unit);
- 
-       Builder writeTimeout(long timeout, TimeUnit unit);
- 
-       Builder queriesPerSecond(int maxQps);
- 
-       Builder proxy(Proxy proxy);
- 
-       Builder proxyAuthentication(String proxyUserName, String proxyUserPassword);
- 
-       RequestHandler build();
-     }
-   }
- 
-   /**
-    * Shut down this GeoApiContext instance, reclaiming resources. After shutdown() has been called,
-    * no further queries may be done against this instance.
-    */
-   public void shutdown() {
-     requestHandler.shutdown();
-   }
- 
-   private Map<String, String> addDefaultHeaders(Map<String, String> headers) {
-     Map<String, String> newHeaders = new HashMap<>(headers);
-     for (Entry<String, String> entry : defaultHeaders.entrySet()) {
-       if (!newHeaders.containsKey(entry.getKey())) {
-         newHeaders.put(entry.getKey(), entry.getValue());
-       }
-     }
-     return newHeaders;
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> get(
-       ApiConfig config,
-       Class<? extends R> clazz,
-       Map<String, String> headers,
-       Map<String, List<String>> params) {
-     if (channel != null && !channel.isEmpty() && !params.containsKey("channel")) {
-       params.put("channel", Collections.singletonList(channel));
-     }
- 
-     StringBuilder query = new StringBuilder();
- 
-     for (Map.Entry<String, List<String>> param : params.entrySet()) {
-       List<String> values = param.getValue();
-       for (String value : values) {
-         query.append('&').append(param.getKey()).append("=");
-         try {
-           query.append(URLEncoder.encode(value, "UTF-8"));
-         } catch (UnsupportedEncodingException e) {
-           // This should never happen. UTF-8 support is required for every Java implementation.
-           throw new IllegalStateException(e);
-         }
-       }
-     }
- 
-     return getWithPath(
-         clazz,
-         config.fieldNamingPolicy,
-         config.hostName,
-         config.path,
-         config.supportsClientId,
-         query.toString(),
-         requestMetricsReporter.newRequest(config.path),
-         headers);
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> get(
-       ApiConfig config, Class<? extends R> clazz, Map<String, List<String>> params) {
-     return get(config, clazz, Collections.emptyMap(), params);
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> get(
-       ApiConfig config, Class<? extends R> clazz, Map<String, String> headers, String... params) {
-     // FIXME: Refactor this to reuse implementation in overloaded get()
-     if (params.length % 2 != 0) {
-       throw new IllegalArgumentException("Params must be matching key/value pairs.");
-     }
- 
-     StringBuilder query = new StringBuilder();
- 
-     boolean channelSet = false;
-     for (int i = 0; i < params.length; i += 2) {
-       if (params[i].equals("channel")) {
-         channelSet = true;
-       }
-       query.append('&').append(params[i]).append('=');
- 
-       // URL-encode the parameter.
-       try {
-         query.append(URLEncoder.encode(params[i + 1], "UTF-8"));
-       } catch (UnsupportedEncodingException e) {
-         // This should never happen. UTF-8 support is required for every Java implementation.
-         throw new IllegalStateException(e);
-       }
-     }
- 
-     // Channel can be supplied per-request or per-context. We prioritize it from the request,
-     // so if it's not provided there, provide it here
-     if (!channelSet && channel != null && !channel.isEmpty()) {
-       query.append("&channel=").append(channel);
-     }
- 
-     final Map<String, String> allHeaders = addDefaultHeaders(headers);
- 
-     return getWithPath(
-         clazz,
-         config.fieldNamingPolicy,
-         config.hostName,
-         config.path,
-         config.supportsClientId,
-         query.toString(),
-         requestMetricsReporter.newRequest(config.path),
-         allHeaders);
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> get(
-       ApiConfig config, Class<? extends R> clazz, String... params) {
-     return get(config, clazz, Collections.emptyMap(), params);
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> post(
-       ApiConfig config,
-       Class<? extends R> clazz,
-       Map<String, String> headers,
-       Map<String, List<String>> params) {
-     checkContext(config.supportsClientId);
- 
-     StringBuilder url = new StringBuilder(config.path);
-     if (config.supportsClientId && clientId != null) {
-       url.append("?client=").append(clientId);
-     } else {
-       url.append("?key=").append(apiKey);
-     }
- 
-     if (config.supportsClientId && urlSigner != null) {
-       String signature = urlSigner.getSignature(url.toString());
-       url.append("&signature=").append(signature);
-     }
- 
-     String hostName = config.hostName;
-     if (baseUrlOverride != null) {
-       hostName = baseUrlOverride;
-     }
- 
-     final Map<String, String> allHeaders = addDefaultHeaders(headers);
- 
-     return requestHandler.handlePost(
-         hostName,
-         url.toString(),
-         params.get("_payload").get(0),
-         allHeaders,
-         clazz,
-         config.fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         requestMetricsReporter.newRequest(config.path));
-   }
- 
-   <T, R extends ApiResponse<T>> PendingResult<T> post(
-       ApiConfig config, Class<? extends R> clazz, Map<String, List<String>> params) {
-     return post(config, clazz, Collections.emptyMap(), params);
-   }
- 
-   private <T, R extends ApiResponse<T>> PendingResult<T> getWithPath(
-       Class<R> clazz,
-       FieldNamingPolicy fieldNamingPolicy,
-       String hostName,
-       String path,
-       boolean canUseClientId,
-       String encodedPath,
-       RequestMetrics metrics,
-       Map<String, String> headers) {
-     checkContext(canUseClientId);
-     if (!encodedPath.startsWith("&")) {
-       throw new IllegalArgumentException("encodedPath must start with &");
-     }
- 
-     StringBuilder url = new StringBuilder(path);
-     if (canUseClientId && clientId != null) {
-       url.append("?client=").append(clientId);
-     } else {
-       url.append("?key=").append(apiKey);
-     }
-     url.append(encodedPath);
- 
-     if (canUseClientId && urlSigner != null) {
-       String signature = urlSigner.getSignature(url.toString());
-       url.append("&signature=").append(signature);
-     }
- 
-     if (baseUrlOverride != null) {
-       hostName = baseUrlOverride;
-     }
- 
-     final Map<String, String> allHeaders = addDefaultHeaders(headers);
- 
-     return requestHandler.handle(
-         hostName,
-         url.toString(),
-         allHeaders,
-         clazz,
-         fieldNamingPolicy,
-         errorTimeout,
-         maxRetries,
-         exceptionsAllowedToRetry,
-         metrics);
-   }
- 
-   private void checkContext(boolean canUseClientId) {
-     if (urlSigner == null && apiKey == null) {
-       throw new IllegalStateException("Must provide either API key or Maps for Work credentials.");
-     } else if (!canUseClientId && apiKey == null) {
-       throw new IllegalStateException(
-           "API does not support client ID & secret - you must provide a key");
-     }
-     if (urlSigner == null && !apiKey.startsWith("AIza")) {
-       throw new IllegalStateException("Invalid API key.");
-     }
-   }
- 
-   /** The Builder for {@code GeoApiContext}. */
-   public static class Builder {
- 
-     private RequestHandler.Builder builder;
- 
-     private String apiKey;
-     private String baseUrlOverride;
-     private String channel;
-     private String clientId;
-     private long errorTimeout = DEFAULT_BACKOFF_TIMEOUT_MILLIS;
-     private ExceptionsAllowedToRetry exceptionsAllowedToRetry = new ExceptionsAllowedToRetry();
-     private Integer maxRetries;
-     private UrlSigner urlSigner;
-     private RequestMetricsReporter requestMetricsReporter = new NoOpRequestMetricsReporter();
- 
-     /** Builder pattern for the enclosing {@code GeoApiContext}. */
-     public Builder() {
-       requestHandlerBuilder(new OkHttpRequestHandler.Builder());
-     }
- 
-     public Builder(RequestHandler.Builder builder) {
-       requestHandlerBuilder(builder);
-     }
- 
-     /**
-      * Changes the RequestHandler.Builder strategy to change between the {@code
-      * OkHttpRequestHandler} and the {@code GaeRequestHandler}.
-      *
-      * @param builder The {@code RequestHandler.Builder} to use for {@link #build()}
-      * @return Returns this builder for call chaining.
-      * @see OkHttpRequestHandler
-      * @see GaeRequestHandler
-      */
-     public Builder requestHandlerBuilder(RequestHandler.Builder builder) {
-       this.builder = builder;
-       this.exceptionsAllowedToRetry.add(OverQueryLimitException.class);
-       return this;
-     }
- 
-     /**
-      * Overrides the base URL of the API endpoint. Useful for testing or certain international usage
-      * scenarios.
-      *
-      * @param baseUrl The URL to use, without a trailing slash, e.g. https://maps.googleapis.com
-      * @return Returns this builder for call chaining.
-      */
-     public Builder baseUrlOverride(String baseUrl) {
-       baseUrlOverride = baseUrl;
-       return this;
-     }
- 
-     /**
-      * Older name for {@link #baseUrlOverride(String)}. This was used back when testing was the only
-      * use case foreseen for this.
-      *
-      * @deprecated Use baseUrlOverride(String) instead.
-      * @param baseUrl The URL to use, without a trailing slash, e.g. https://maps.googleapis.com
-      * @return Returns this builder for call chaining.
-      */
-     @Deprecated
-     Builder baseUrlForTesting(String baseUrl) {
-       return baseUrlOverride(baseUrl);
-     }
- 
-     /**
-      * Sets the API Key to use for authorizing requests.
-      *
-      * @param apiKey The API Key to use.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder apiKey(String apiKey) {
-       this.apiKey = apiKey;
-       return this;
-     }
- 
-     /**
-      * Sets the ClientID/Secret pair to use for authorizing requests. Most users should use {@link
-      * #apiKey(String)} instead.
-      *
-      * @param clientId The Client ID to use.
-      * @param cryptographicSecret The Secret to use.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder enterpriseCredentials(String clientId, String cryptographicSecret) {
-       this.clientId = clientId;
-       try {
-         this.urlSigner = new UrlSigner(cryptographicSecret);
-       } catch (NoSuchAlgorithmException | InvalidKeyException e) {
-         throw new IllegalStateException(e);
-       }
-       return this;
-     }
- 
-     /**
-      * Sets the default channel for requests (can be overridden by requests). Only useful for Google
-      * Maps for Work clients.
-      *
-      * @param channel The channel to use for analytics
-      * @return Returns this builder for call chaining.
-      */
-     public Builder channel(String channel) {
-       this.channel = channel;
-       return this;
-     }
- 
-     /**
-      * Sets the default connect timeout for new connections. A value of 0 means no timeout.
-      *
-      * @see java.net.URLConnection#setConnectTimeout(int)
-      * @param timeout The connect timeout period in {@code unit}s.
-      * @param unit The connect timeout time unit.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder connectTimeout(long timeout, TimeUnit unit) {
-       builder.connectTimeout(timeout, unit);
-       return this;
-     }
- 
-     /**
-      * Sets the default read timeout for new connections. A value of 0 means no timeout.
-      *
-      * @see java.net.URLConnection#setReadTimeout(int)
-      * @param timeout The read timeout period in {@code unit}s.
-      * @param unit The read timeout time unit.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder readTimeout(long timeout, TimeUnit unit) {
-       builder.readTimeout(timeout, unit);
-       return this;
-     }
- 
-     /**
-      * Sets the default write timeout for new connections. A value of 0 means no timeout.
-      *
-      * @param timeout The write timeout period in {@code unit}s.
-      * @param unit The write timeout time unit.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder writeTimeout(long timeout, TimeUnit unit) {
-       builder.writeTimeout(timeout, unit);
-       return this;
-     }
- 
-     /**
-      * Sets the cumulative time limit for which retry-able errors will be retried. Defaults to 60
-      * seconds. Set to zero to retry requests forever.
-      *
-      * <p>This operates separately from the count-based {@link #maxRetries(Integer)}.
-      *
-      * @param timeout The retry timeout period in {@code unit}s.
-      * @param unit The retry timeout time unit.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder retryTimeout(long timeout, TimeUnit unit) {
-       this.errorTimeout = unit.toMillis(timeout);
-       return this;
-     }
- 
-     /**
-      * Sets the maximum number of times each retry-able errors will be retried. Set this to null to
-      * not have a max number. Set this to zero to disable retries.
-      *
-      * <p>This operates separately from the time-based {@link #retryTimeout(long, TimeUnit)}.
-      *
-      * @param maxRetries The maximum number of times to retry.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder maxRetries(Integer maxRetries) {
-       this.maxRetries = maxRetries;
-       return this;
-     }
- 
-     /**
-      * Disables retries completely, by setting max retries to 0 and retry timeout to 0.
-      *
-      * @return Returns this builder for call chaining.
-      */
-     public Builder disableRetries() {
-       maxRetries(0);
-       retryTimeout(0, TimeUnit.MILLISECONDS);
-       return this;
-     }
- 
-     /**
-      * Sets the maximum number of queries that will be executed during a 1 second interval. The
-      * default is 50. A minimum interval between requests will also be enforced, set to 1/(2 *
-      * {@code maxQps}).
-      *
-      * @param maxQps The maximum queries per second.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder queryRateLimit(int maxQps) {
-       builder.queriesPerSecond(maxQps);
-       return this;
-     }
- 
-     /**
-      * Allows specific API exceptions to be retried or not retried.
-      *
-      * @param exception The {@code ApiException} to allow or deny being re-tried.
-      * @param allowedToRetry Whether to allow or deny re-trying {@code exception}.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder setIfExceptionIsAllowedToRetry(
-         Class<? extends ApiException> exception, boolean allowedToRetry) {
-       if (allowedToRetry) {
-         exceptionsAllowedToRetry.add(exception);
-       } else {
-         exceptionsAllowedToRetry.remove(exception);
-       }
-       return this;
-     }
- 
-     /**
-      * Sets the proxy for new connections.
-      *
-      * @param proxy The proxy to be used by the underlying HTTP client.
-      * @return Returns this builder for call chaining.
-      */
-     public Builder proxy(Proxy proxy) {
-       builder.proxy(proxy == null ? Proxy.NO_PROXY : proxy);
-       return this;
-     }
- 
-     /**
-      * set authentication for proxy
-      *
-      * @param proxyUserName username for proxy authentication
-      * @param proxyUserPassword username for proxy authentication
-      * @return Returns this builder for call chaining.
-      */
-     public Builder proxyAuthentication(String proxyUserName, String proxyUserPassword) {
-       builder.proxyAuthentication(proxyUserName, proxyUserPassword);
-       return this;
-     }
- 
-     public Builder requestMetricsReporter(RequestMetricsReporter requestMetricsReporter) {
-       this.requestMetricsReporter = requestMetricsReporter;
-       return this;
-     }
- 
-     /**
-      * Converts this builder into a {@code GeoApiContext}.
-      *
-      * @return Returns the built {@code GeoApiContext}.
-      */
-     public GeoApiContext build() {
-       return new GeoApiContext(
-           builder.build(),
-           apiKey,
-           baseUrlOverride,
-           channel,
-           clientId,
-           errorTimeout,
-           exceptionsAllowedToRetry,
-           maxRetries,
-           urlSigner,
-           requestMetricsReporter);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-9.html b/CodeCoverageReport/ns-1/sources/source-9.html deleted file mode 100644 index fdb71989c..000000000 --- a/CodeCoverageReport/ns-1/sources/source-9.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - Coverage Report > GeocodingApi - - - - - - -
- - -

Coverage Summary for Class: GeocodingApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
GeocodingApi - - 25% - - - (1/4) - - - - 12.5% - - - (1/8) - -
GeocodingApi$Response - - 100% - - - (4/4) - - - - 66.7% - - - (4/6) - - - - 83.3% - - - (5/6) - -
Total - - 62.5% - - - (5/8) - - - - 66.7% - - - (4/6) - - - - 42.9% - - - (6/14) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.GeocodingResult;
- import com.google.maps.model.LatLng;
- 
- /**
-  * Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View,
-  * CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you
-  * can use to place markers or position the map. Reverse geocoding is the process of converting
-  * geographic coordinates into a human-readable address.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/geocoding/">Geocoding
-  *     documentation</a>
-  */
- public class GeocodingApi {
-   private GeocodingApi() {}
- 
-   /**
-    * Creates a new Geocoding API request.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @return Returns the request, ready to run.
-    */
-   public static GeocodingApiRequest newRequest(GeoApiContext context) {
-     return new GeocodingApiRequest(context);
-   }
- 
-   /**
-    * Requests the latitude and longitude of an {@code address}.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param address The address to geocode.
-    * @return Returns the request, ready to run.
-    */
-   public static GeocodingApiRequest geocode(GeoApiContext context, String address) {
-     GeocodingApiRequest request = new GeocodingApiRequest(context);
-     request.address(address);
-     return request;
-   }
- 
-   /**
-    * Requests the street address of a {@code location}.
-    *
-    * @param context The {@link GeoApiContext} to make requests through.
-    * @param location The location to reverse geocode.
-    * @return Returns the request, ready to run.
-    */
-   public static GeocodingApiRequest reverseGeocode(GeoApiContext context, LatLng location) {
-     GeocodingApiRequest request = new GeocodingApiRequest(context);
-     request.latlng(location);
-     return request;
-   }
- 
-   public static class Response implements ApiResponse<GeocodingResult[]> {
-     public String status;
-     public String errorMessage;
-     public GeocodingResult[] results;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public GeocodingResult[] getResult() {
-       return results;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-a.html b/CodeCoverageReport/ns-1/sources/source-a.html deleted file mode 100644 index 0eb53ef2c..000000000 --- a/CodeCoverageReport/ns-1/sources/source-a.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - Coverage Report > GeocodingApiRequest - - - - - - -
- - -

Coverage Summary for Class: GeocodingApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GeocodingApiRequest - - 100% - - - (1/1) - - - - 100% - - - (11/11) - - - - 71.4% - - - (10/14) - - - - 85.7% - - - (18/21) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.model.AddressType;
- import com.google.maps.model.ComponentFilter;
- import com.google.maps.model.GeocodingResult;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.LocationType;
- 
- /** A request for the Geocoding API. */
- public class GeocodingApiRequest
-     extends PendingResultBase<GeocodingResult[], GeocodingApiRequest, GeocodingApi.Response> {
- 
-   private static final ApiConfig API_CONFIG = new ApiConfig("/maps/api/geocode/json");
- 
-   public GeocodingApiRequest(GeoApiContext context) {
-     super(context, API_CONFIG, GeocodingApi.Response.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     // Must not have both address and latlng.
-     if (params().containsKey("latlng")
-         && params().containsKey("address")
-         && params().containsKey("place_id")) {
-       throw new IllegalArgumentException(
-           "Request must contain only one of 'address', 'latlng' or 'place_id'.");
-     }
- 
-     // Must contain at least one of place_id, address, latlng, and components;
-     if (!params().containsKey("latlng")
-         && !params().containsKey("address")
-         && !params().containsKey("components")
-         && !params().containsKey("place_id")) {
-       throw new IllegalArgumentException(
-           "Request must contain at least one of 'address', 'latlng', 'place_id' and 'components'.");
-     }
-   }
- 
-   /**
-    * Creates a forward geocode for {@code address}.
-    *
-    * @param address The address to geocode.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest address(String address) {
-     return param("address", address);
-   }
- 
-   /**
-    * Creates a forward geocode for {@code placeId}.
-    *
-    * @param placeId The Place ID to geocode.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest place(String placeId) {
-     return param("place_id", placeId);
-   }
- 
-   /**
-    * Creates a reverse geocode for {@code latlng}.
-    *
-    * @param latlng The location to reverse geocode.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest latlng(LatLng latlng) {
-     return param("latlng", latlng);
-   }
- 
-   /**
-    * Sets the bounding box of the viewport within which to bias geocode results more prominently.
-    * This parameter will only influence, not fully restrict, results from the geocoder.
-    *
-    * <p>For more information see <a
-    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#Viewports">
-    * Viewport Biasing</a>.
-    *
-    * @param southWestBound The South West bound of the bounding box.
-    * @param northEastBound The North East bound of the bounding box.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest bounds(LatLng southWestBound, LatLng northEastBound) {
-     return param("bounds", join('|', southWestBound, northEastBound));
-   }
- 
-   /**
-    * Sets the region code, specified as a ccTLD ("top-level domain") two-character value. This
-    * parameter will only influence, not fully restrict, results from the geocoder.
-    *
-    * <p>For more information see <a
-    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#RegionCodes">Region
-    * Biasing</a>.
-    *
-    * @param region The region code to influence results.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest region(String region) {
-     return param("region", region);
-   }
- 
-   /**
-    * Sets the component filters. Each component filter consists of a component:value pair and will
-    * fully restrict the results from the geocoder.
-    *
-    * <p>For more information see <a
-    * href="https://developers.google.com/maps/documentation/geocoding/intro?hl=pl#ComponentFiltering">
-    * Component Filtering</a>.
-    *
-    * @param filters Component filters to apply to the request.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest components(ComponentFilter... filters) {
-     return param("components", join('|', filters));
-   }
- 
-   /**
-    * Sets the result type. Specifying a type will restrict the results to this type. If multiple
-    * types are specified, the API will return all addresses that match any of the types.
-    *
-    * @param resultTypes The result types to restrict to.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest resultType(AddressType... resultTypes) {
-     return param("result_type", join('|', resultTypes));
-   }
- 
-   /**
-    * Sets the location type. Specifying a type will restrict the results to this type. If multiple
-    * types are specified, the API will return all addresses that match any of the types.
-    *
-    * @param locationTypes The location types to restrict to.
-    * @return Returns this {@code GeocodingApiRequest} for call chaining.
-    */
-   public GeocodingApiRequest locationType(LocationType... locationTypes) {
-     return param("location_type", join('|', locationTypes));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-b.html b/CodeCoverageReport/ns-1/sources/source-b.html deleted file mode 100644 index e87563a59..000000000 --- a/CodeCoverageReport/ns-1/sources/source-b.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - Coverage Report > GeolocationApi - - - - - - -
- - -

Coverage Summary for Class: GeolocationApi (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
GeolocationApi - - 75% - - - (3/4) - - - - 87.5% - - - (7/8) - -
GeolocationApi$Response - - 100% - - - (4/4) - - - - 75% - - - (3/4) - - - - 93.8% - - - (15/16) - -
Total - - 87.5% - - - (7/8) - - - - 75% - - - (3/4) - - - - 91.7% - - - (22/24) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.GeolocationPayload;
- import com.google.maps.model.GeolocationResult;
- import com.google.maps.model.LatLng;
- 
- /*
-  *  The Google Maps Geolocation API returns a location and accuracy radius based on information
-  *  about cell towers and WiFi nodes that the mobile client can detect.
-  *
-  * <p>Please see the<a href="https://developers.google.com/maps/documentation/geolocation/intro#top_of_page">
-  *   Geolocation API</a> for more detail.
-  *
-  *
-  */
- public class GeolocationApi {
-   private static final String API_BASE_URL = "https://www.googleapis.com";
- 
-   static final ApiConfig GEOLOCATION_API_CONFIG =
-       new ApiConfig("/geolocation/v1/geolocate")
-           .hostName(API_BASE_URL)
-           .supportsClientId(false)
-           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY)
-           .requestVerb("POST");
- 
-   private GeolocationApi() {}
- 
-   public static PendingResult<GeolocationResult> geolocate(
-       GeoApiContext context, GeolocationPayload payload) {
-     return new GeolocationApiRequest(context).Payload(payload).CreatePayload();
-   }
- 
-   public static GeolocationApiRequest newRequest(GeoApiContext context) {
-     return new GeolocationApiRequest(context);
-   }
- 
-   public static class Response implements ApiResponse<GeolocationResult> {
-     public int code = 200;
-     public String message = "OK";
-     public double accuracy = -1.0;
-     public LatLng location = null;
-     public String domain = null;
-     public String reason = null;
-     public String debugInfo = null;
- 
-     @Override
-     public boolean successful() {
-       return code == 200;
-     }
- 
-     @Override
-     public GeolocationResult getResult() {
-       GeolocationResult result = new GeolocationResult();
-       result.accuracy = accuracy;
-       result.location = location;
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(reason, message);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-c.html b/CodeCoverageReport/ns-1/sources/source-c.html deleted file mode 100644 index a8a5d3b94..000000000 --- a/CodeCoverageReport/ns-1/sources/source-c.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - - Coverage Report > GeolocationApiRequest - - - - - - -
- - -

Coverage Summary for Class: GeolocationApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GeolocationApiRequest - - 100% - - - (1/1) - - - - 92.3% - - - (12/13) - - - - 80% - - - (8/10) - - - - 91.2% - - - (31/34) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.gson.Gson;
- import com.google.maps.model.CellTower;
- import com.google.maps.model.GeolocationPayload;
- import com.google.maps.model.GeolocationPayload.GeolocationPayloadBuilder;
- import com.google.maps.model.GeolocationResult;
- import com.google.maps.model.WifiAccessPoint;
- 
- /** A request for the Geolocation API. */
- public class GeolocationApiRequest
-     extends PendingResultBase<GeolocationResult, GeolocationApiRequest, GeolocationApi.Response> {
- 
-   private GeolocationPayload payload = null;
-   private GeolocationPayloadBuilder builder = null;
- 
-   GeolocationApiRequest(GeoApiContext context) {
-     super(context, GeolocationApi.GEOLOCATION_API_CONFIG, GeolocationApi.Response.class);
-     builder = new GeolocationPayload.GeolocationPayloadBuilder();
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (this.payload.considerIp != null
-         && !this.payload.considerIp
-         && this.payload.wifiAccessPoints != null
-         && this.payload.wifiAccessPoints.length < 2) {
-       throw new IllegalArgumentException("Request must contain two or more 'Wifi Access Points'");
-     }
-   }
- 
-   public GeolocationApiRequest HomeMobileCountryCode(int newHomeMobileCountryCode) {
-     this.builder.HomeMobileCountryCode(newHomeMobileCountryCode);
-     return this;
-   }
- 
-   public GeolocationApiRequest HomeMobileNetworkCode(int newHomeMobileNetworkCode) {
-     this.builder.HomeMobileNetworkCode(newHomeMobileNetworkCode);
-     return this;
-   }
- 
-   public GeolocationApiRequest RadioType(String newRadioType) {
-     this.builder.RadioType(newRadioType);
-     return this;
-   }
- 
-   public GeolocationApiRequest Carrier(String newCarrier) {
-     this.builder.Carrier(newCarrier);
-     return this;
-   }
- 
-   public GeolocationApiRequest ConsiderIp(boolean newConsiderIp) {
-     this.builder.ConsiderIp(newConsiderIp);
-     return this;
-   }
- 
-   public GeolocationApiRequest CellTowers(CellTower[] newCellTowers) {
-     this.builder.CellTowers(newCellTowers);
-     return this;
-   }
- 
-   public GeolocationApiRequest AddCellTower(CellTower newCellTower) {
-     this.builder.AddCellTower(newCellTower);
-     return this;
-   }
- 
-   public GeolocationApiRequest WifiAccessPoints(WifiAccessPoint[] newWifiAccessPoints) {
-     this.builder.WifiAccessPoints(newWifiAccessPoints);
-     return this;
-   }
- 
-   public GeolocationApiRequest AddWifiAccessPoint(WifiAccessPoint newWifiAccessPoint) {
-     this.builder.AddWifiAccessPoint(newWifiAccessPoint);
-     return this;
-   }
- 
-   public GeolocationApiRequest Payload(GeolocationPayload payload) {
-     this.payload = payload;
-     return this;
-   }
- 
-   public GeolocationApiRequest CreatePayload() {
-     if (this.payload == null) {
-       // if the payload has not been set, create it
-       this.payload = this.builder.createGeolocationPayload();
-     } else {
-       // use the payload that has been explicitly set by the Payload method above
-     }
-     Gson gson = new Gson();
-     String jsonPayload = gson.toJson(this.payload);
-     return param("_payload", jsonPayload);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-d.html b/CodeCoverageReport/ns-1/sources/source-d.html deleted file mode 100644 index 53b337447..000000000 --- a/CodeCoverageReport/ns-1/sources/source-d.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - Coverage Report > ImageResult - - - - - - -
- - -

Coverage Summary for Class: ImageResult (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Line, % -
ImageResult - - 100% - - - (1/1) - - - - 100% - - - (4/4) - -
ImageResult$Response - - 0% - - - (0/4) - - - - 0% - - - (0/4) - -
Total - - 20% - - - (1/5) - - - - 50% - - - (4/8) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiResponse;
- import java.io.Serializable;
- 
- /** {@code ImageResult} is the object returned from API end points that return images. */
- public class ImageResult implements Serializable {
- 
-   public ImageResult(String contentType, byte[] imageData) {
-     this.imageData = imageData;
-     this.contentType = contentType;
-   }
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The image data from the Photos API call. */
-   public final byte[] imageData;
- 
-   /** The Content-Type header of the returned result. */
-   public final String contentType;
- 
-   /**
-    * <code>ImageResult.Response</code> is a type system hack to enable API endpoints to return a
-    * <code>ImageResult</code>.
-    */
-   public static class Response implements ApiResponse<ImageResult> {
-     @Override
-     public boolean successful() {
-       return true;
-     }
- 
-     @Override
-     public ApiException getError() {
-       return null;
-     }
- 
-     @Override
-     public ImageResult getResult() {
-       return null;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-e.html b/CodeCoverageReport/ns-1/sources/source-e.html deleted file mode 100644 index ae73c071d..000000000 --- a/CodeCoverageReport/ns-1/sources/source-e.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - Coverage Report > NearbySearchRequest - - - - - - -
- - -

Coverage Summary for Class: NearbySearchRequest (com.google.maps)

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
NearbySearchRequest - - 100% - - - (14/14) - - - - 70% - - - (14/20) - - - - 96.7% - - - (29/30) - -
NearbySearchRequest$Response - - 75% - - - (3/4) - - - - 16.7% - - - (1/6) - - - - 70% - - - (7/10) - -
Total - - 94.4% - - - (17/18) - - - - 57.7% - - - (15/26) - - - - 90% - - - (36/40) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.errors.ApiException;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.ApiResponse;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.PlaceType;
- import com.google.maps.model.PlacesSearchResponse;
- import com.google.maps.model.PlacesSearchResult;
- import com.google.maps.model.PriceLevel;
- import com.google.maps.model.RankBy;
- 
- /**
-  * A <a href="https://developers.google.com/places/web-service/search#PlaceSearchRequests">Nearby
-  * Search</a> request.
-  */
- public class NearbySearchRequest
-     extends PendingResultBase<
-         PlacesSearchResponse, NearbySearchRequest, NearbySearchRequest.Response> {
- 
-   static final ApiConfig API_CONFIG =
-       new ApiConfig("/maps/api/place/nearbysearch/json")
-           .fieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
- 
-   /**
-    * Constructs a new {@code NearbySearchRequest}.
-    *
-    * @param context The {@code GeoApiContext} to make requests through.
-    */
-   public NearbySearchRequest(GeoApiContext context) {
-     super(context, API_CONFIG, Response.class);
-   }
- 
-   /**
-    * Specifies the latitude/longitude around which to retrieve place information.
-    *
-    * @param location The location to use as the center of the Nearby Search.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest location(LatLng location) {
-     return param("location", location);
-   }
- 
-   /**
-    * Specifies the distance (in meters) within which to return place results. The maximum allowed
-    * radius is 50,000 meters. Note that radius must not be included if {@code rankby=DISTANCE} is
-    * specified.
-    *
-    * @param distance The distance in meters around the {@link #location(LatLng)} to search.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest radius(int distance) {
-     if (distance > 50000) {
-       throw new IllegalArgumentException("The maximum allowed radius is 50,000 meters.");
-     }
-     return param("radius", String.valueOf(distance));
-   }
- 
-   /**
-    * Specifies the order in which results are listed.
-    *
-    * @param ranking The rank by method.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest rankby(RankBy ranking) {
-     return param("rankby", ranking);
-   }
- 
-   /**
-    * Specifies a term to be matched against all content that Google has indexed for this place. This
-    * includes but is not limited to name, type, and address, as well as customer reviews and other
-    * third-party content.
-    *
-    * @param keyword The keyword to search for.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest keyword(String keyword) {
-     return param("keyword", keyword);
-   }
- 
-   /**
-    * Restricts to places that are at least this price level.
-    *
-    * @param priceLevel The price level to set as minimum.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest minPrice(PriceLevel priceLevel) {
-     return param("minprice", priceLevel);
-   }
- 
-   /**
-    * Restricts to places that are at most this price level.
-    *
-    * @param priceLevel The price level to set as maximum.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest maxPrice(PriceLevel priceLevel) {
-     return param("maxprice", priceLevel);
-   }
- 
-   /**
-    * Specifies one or more terms to be matched against the names of places, separated by spaces.
-    *
-    * @param name Search for Places with this name.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest name(String name) {
-     return param("name", name);
-   }
- 
-   /**
-    * Restricts to only those places that are open for business at the time the query is sent.
-    *
-    * @param openNow Whether to restrict to places that are open.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest openNow(boolean openNow) {
-     return param("opennow", String.valueOf(openNow));
-   }
- 
-   /**
-    * Returns the next 20 results from a previously run search. Setting {@code pageToken} will
-    * execute a search with the same parameters used previously  all parameters other than {@code
-    * pageToken} will be ignored.
-    *
-    * @param nextPageToken The page token from a previous result.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest pageToken(String nextPageToken) {
-     return param("pagetoken", nextPageToken);
-   }
- 
-   /**
-    * Restricts the results to places matching the specified type.
-    *
-    * @param type The {@link PlaceType} to restrict results to.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   public NearbySearchRequest type(PlaceType type) {
-     return param("type", type);
-   }
- 
-   /**
-    * Restricts the results to places matching the specified type. Provides support for multiple
-    * types.
-    *
-    * @deprecated Multiple search types are ignored by the Places API.
-    * @param types The {@link PlaceType}s to restrict results to.
-    * @return Returns this {@code NearbyApiRequest} for call chaining.
-    */
-   @Deprecated
-   public NearbySearchRequest type(PlaceType... types) {
-     return param("type", join('|', types));
-   }
- 
-   @Override
-   protected void validateRequest() {
- 
-     // If pagetoken is included, all other parameters are ignored.
-     if (params().containsKey("pagetoken")) {
-       return;
-     }
- 
-     // radius must not be included if rankby=distance
-     if (params().containsKey("rankby")
-         && params().get("rankby").get(0).equals(RankBy.DISTANCE.toString())
-         && params().containsKey("radius")) {
-       throw new IllegalArgumentException("Request must not contain radius with rankby=distance");
-     }
- 
-     // If rankby=distance is specified, then one or more of keyword, name, or type is required.
-     if (params().containsKey("rankby")
-         && params().get("rankby").get(0).equals(RankBy.DISTANCE.toString())
-         && !params().containsKey("keyword")
-         && !params().containsKey("name")
-         && !params().containsKey("type")) {
-       throw new IllegalArgumentException(
-           "With rankby=distance is specified, then one or more of keyword, name, or type is required");
-     }
-   }
- 
-   public static class Response implements ApiResponse<PlacesSearchResponse> {
- 
-     public String status;
-     public String htmlAttributions[];
-     public PlacesSearchResult results[];
-     public String nextPageToken;
-     public String errorMessage;
- 
-     @Override
-     public boolean successful() {
-       return "OK".equals(status) || "ZERO_RESULTS".equals(status);
-     }
- 
-     @Override
-     public PlacesSearchResponse getResult() {
-       PlacesSearchResponse result = new PlacesSearchResponse();
-       result.htmlAttributions = htmlAttributions;
-       result.results = results;
-       result.nextPageToken = nextPageToken;
-       return result;
-     }
- 
-     @Override
-     public ApiException getError() {
-       if (successful()) {
-         return null;
-       }
-       return ApiException.from(status, errorMessage);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-1/sources/source-f.html b/CodeCoverageReport/ns-1/sources/source-f.html deleted file mode 100644 index cdafd0d11..000000000 --- a/CodeCoverageReport/ns-1/sources/source-f.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - Coverage Report > NearestRoadsApiRequest - - - - - - -
- - -

Coverage Summary for Class: NearestRoadsApiRequest (com.google.maps)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
NearestRoadsApiRequest - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 90% - - - (9/10) - -
- -
-
- - -
- package com.google.maps;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.maps.RoadsApi.RoadsResponse;
- import com.google.maps.internal.ApiConfig;
- import com.google.maps.internal.StringJoin;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.SnappedPoint;
- 
- /** A request to the snap to roads API (part of Roads API). */
- public class NearestRoadsApiRequest
-     extends PendingResultBase<SnappedPoint[], NearestRoadsApiRequest, RoadsResponse> {
- 
-   private static final ApiConfig NEAREST_ROADS_API_CONFIG =
-       new ApiConfig("/v1/nearestRoads")
-           .hostName(RoadsApi.API_BASE_URL)
-           .supportsClientId(false)
-           .fieldNamingPolicy(FieldNamingPolicy.IDENTITY);
- 
-   public NearestRoadsApiRequest(GeoApiContext context) {
-     super(context, NEAREST_ROADS_API_CONFIG, RoadsResponse.class);
-   }
- 
-   @Override
-   protected void validateRequest() {
-     if (!params().containsKey("points")) {
-       throw new IllegalArgumentException("Request must contain 'path");
-     }
-   }
- 
-   /**
-    * The points from which to snap to roads.
-    *
-    * @param points the point to be snapped
-    * @return returns this {@link NearestRoadsApiRequest} for call chaining.
-    */
-   public NearestRoadsApiRequest points(LatLng... points) {
-     return param("points", StringJoin.join('|', points));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/index.html b/CodeCoverageReport/ns-2/index.html deleted file mode 100644 index db97cf7e2..000000000 --- a/CodeCoverageReport/ns-2/index.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html deleted file mode 100644 index 2d209d454..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index dab057c29..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html deleted file mode 100644 index 03942b6a7..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index 4a65e34c6..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html deleted file mode 100644 index 060b37bc7..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_LINE.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index 1d834fcb4..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html deleted file mode 100644 index ef8399bdc..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index 8e0ae65ca..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index ab1fd4353..000000000 --- a/CodeCoverageReport/ns-2/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.android - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.android

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.android - - 71.4% - - - (5/7) - - - - 44.4% - - - (8/18) - - - - 34.6% - - - (9/26) - - - - 32.7% - - - (32/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/10) - -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-1.html b/CodeCoverageReport/ns-2/sources/source-1.html deleted file mode 100644 index d097657be..000000000 --- a/CodeCoverageReport/ns-2/sources/source-1.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - Coverage Report > AndroidAuthenticationConfig - - - - - - -
- - -

Coverage Summary for Class: AndroidAuthenticationConfig (com.google.maps.android)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
AndroidAuthenticationConfig - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (5/5) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import org.jetbrains.annotations.Nullable;
- 
- /**
-  * Configuration object containing Android authentication parameters for a particular installation.
-  * The parameters in this config are used by all requests so that API key restrictions can be
-  * enforced.
-  */
- public class AndroidAuthenticationConfig {
-   public static AndroidAuthenticationConfig EMPTY = new AndroidAuthenticationConfig(null, null);
- 
-   /** The package name of the Android app. */
-   @Nullable public final String packageName;
- 
-   /** The SHA-1 fingerprint of the certificate used to sign the Android app. */
-   @Nullable public final String certFingerprint;
- 
-   public AndroidAuthenticationConfig(
-       @Nullable String packageName, @Nullable String certFingerprint) {
-     this.packageName = packageName;
-     this.certFingerprint = certFingerprint;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-2.html b/CodeCoverageReport/ns-2/sources/source-2.html deleted file mode 100644 index 2d9fd09b0..000000000 --- a/CodeCoverageReport/ns-2/sources/source-2.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - Coverage Report > AndroidAuthenticationConfigProvider - - - - - - -
- - -

Coverage Summary for Class: AndroidAuthenticationConfigProvider (com.google.maps.android)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationConfigProvider - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
- -
-
- - -
- package com.google.maps.android;
- 
- /**
-  * Provides a {@link AndroidAuthenticationConfig} that is specific to the environment the library is
-  * in.
-  */
- public class AndroidAuthenticationConfigProvider {
- 
-   /** @return the environment specific {@link AndroidAuthenticationConfig} */
-   public AndroidAuthenticationConfig provide() {
-     Context context = Context.getApplicationContext();
-     if (context == null) {
-       return AndroidAuthenticationConfig.EMPTY;
-     }
- 
-     return new AndroidAuthenticationConfig(
-         context.getPackageName(), CertificateHelper.getSigningCertificateSha1Fingerprint(context));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-3.html b/CodeCoverageReport/ns-2/sources/source-3.html deleted file mode 100644 index 4a5ec9048..000000000 --- a/CodeCoverageReport/ns-2/sources/source-3.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - Coverage Report > AndroidAuthenticationInterceptor - - - - - - -
- - -

Coverage Summary for Class: AndroidAuthenticationInterceptor (com.google.maps.android)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
AndroidAuthenticationInterceptor - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 91.7% - - - (11/12) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import com.google.maps.internal.HttpHeaders;
- import java.io.IOException;
- import okhttp3.Interceptor;
- import okhttp3.Request;
- import okhttp3.Response;
- import org.jetbrains.annotations.NotNull;
- 
- /**
-  * Intercepts requests and provides Android-specific headers so that API key restrictions can be
-  * enforced.
-  */
- public class AndroidAuthenticationInterceptor implements Interceptor {
- 
-   private final AndroidAuthenticationConfig config;
- 
-   public AndroidAuthenticationInterceptor(AndroidAuthenticationConfig config) {
-     this.config = config;
-   }
- 
-   @NotNull
-   @Override
-   public Response intercept(@NotNull Chain chain) throws IOException {
-     final Request request = chain.request();
- 
-     if (config == AndroidAuthenticationConfig.EMPTY) {
-       // Not in Android environment
-       return chain.proceed(request);
-     }
- 
-     final Request.Builder builder = chain.request().newBuilder();
-     if (config.packageName != null) {
-       builder.addHeader(HttpHeaders.X_ANDROID_PACKAGE, config.packageName);
-     }
- 
-     if (config.certFingerprint != null) {
-       builder.addHeader(HttpHeaders.X_ANDROID_CERT, config.certFingerprint);
-     }
- 
-     return chain.proceed(builder.build());
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-4.html b/CodeCoverageReport/ns-2/sources/source-4.html deleted file mode 100644 index 6227b58e6..000000000 --- a/CodeCoverageReport/ns-2/sources/source-4.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - Coverage Report > CertificateHelper - - - - - - -
- - -

Coverage Summary for Class: CertificateHelper (com.google.maps.android)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
CertificateHelper - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 37.5% - - - (3/8) - - - - 31.8% - - - (7/22) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import org.jetbrains.annotations.NotNull;
- import org.jetbrains.annotations.Nullable;
- 
- /** Helper class for obtaining information about an Android app's signing certificate. */
- public class CertificateHelper {
- 
-   /**
-    * Obtains the SHA-1 fingerprint of the certificate used to sign the app.
-    *
-    * @param context a Context
-    * @return the SHA-1 fingerprint if obtainable, otherwise, <code>null</code>
-    */
-   @Nullable
-   public static String getSigningCertificateSha1Fingerprint(@NotNull Context context) {
-     final PackageManager pm = context.getPackageManager();
-     if (pm == null) {
-       return null;
-     }
- 
-     // PackageManage.GET_SIGNATURES == 64
-     PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 64);
-     if (packageInfo == null) {
-       return null;
-     }
- 
-     Object signingSignature = packageInfo.signingSignature();
-     if (signingSignature == null) {
-       return null;
-     }
- 
-     try {
-       MessageDigest md = MessageDigest.getInstance("SHA-1");
-       Class<?> signatureClass = Class.forName("android.content.pm.Signature");
-       Method toByteArrayMethod = signatureClass.getMethod("toByteArray");
-       byte[] byteArray = (byte[]) toByteArrayMethod.invoke(signingSignature);
-       byte[] digest = md.digest(byteArray);
-       return bytesToHex(digest);
-     } catch (NoSuchAlgorithmException
-         | ClassNotFoundException
-         | IllegalAccessException
-         | NoSuchMethodException
-         | InvocationTargetException e) {
-       return null;
-     }
-   }
- 
-   private static String bytesToHex(byte[] byteArray) {
-     final StringBuilder sb = new StringBuilder();
-     for (byte b : byteArray) {
-       sb.append(String.format("%02X", b));
-     }
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-5.html b/CodeCoverageReport/ns-2/sources/source-5.html deleted file mode 100644 index 0b5080429..000000000 --- a/CodeCoverageReport/ns-2/sources/source-5.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - Coverage Report > Context - - - - - - -
- - -

Coverage Summary for Class: Context (com.google.maps.android)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
Context - - 100% - - - (1/1) - - - - 20% - - - (1/5) - - - - 0% - - - (0/4) - - - - 9.7% - - - (3/31) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import org.jetbrains.annotations.NotNull;
- import org.jetbrains.annotations.Nullable;
- 
- /** Wrapper for the Android class android.content.Context. */
- public class Context {
-   private Class<?> contextClass;
-   private Object contextInstance;
-   private PackageManager packageManager;
- 
-   Context(@NotNull Class<?> contextClass) {
-     this.contextClass = contextClass;
-   }
- 
-   /**
-    * Performs reflection to see if the android.content.Context class is available at runtime. If so,
-    * this method will return an instance of this class.
-    *
-    * @return an instance of this class if invoked within an Android environment, otherwise, null
-    */
-   @Nullable
-   public static Context getApplicationContext() {
-     try {
-       Class<?> contextClass = Class.forName("android.content.Context");
-       return new Context(contextClass);
-     } catch (ClassNotFoundException e) {
-       // Not Android
-       return null;
-     }
-   }
- 
-   /** @return the package name of the Android app if available, otherwise, null */
-   @Nullable
-   public String getPackageName() {
-     try {
-       final Method method = contextClass.getMethod("getPackageName");
-       return (String) method.invoke(getContextInstance());
-     } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
-       e.printStackTrace();
-       return null;
-     }
-   }
- 
-   /**
-    * Similar to <a
-    * href="https://developer.android.com/reference/android/content/Context#getPackageManager()">Context#getPackageManager</a>
-    * but performed through reflection.
-    *
-    * @return the {@link PackageManager}
-    */
-   @Nullable
-   public PackageManager getPackageManager() {
-     if (packageManager != null) {
-       return packageManager;
-     }
- 
-     try {
-       Class<?> pmClass = Class.forName("android.content.pm.PackageManager");
-       final Method method = contextClass.getMethod("getPackageManager");
-       final Object pm = method.invoke(getContextInstance());
-       packageManager = new PackageManager(pmClass, pm);
-     } catch (InvocationTargetException
-         | IllegalAccessException
-         | ClassNotFoundException
-         | NoSuchMethodException e) {
-       // Not Android
-       e.printStackTrace();
-     }
-     return packageManager;
-   }
- 
-   @Nullable
-   private Object getContextInstance() {
-     if (contextInstance != null) {
-       return contextInstance;
-     }
- 
-     try {
-       final Class<?> activityThreadClass = Class.forName("android.app.ActivityThread");
-       final Method method = activityThreadClass.getMethod("currentApplication");
-       contextInstance = method.invoke(null);
-     } catch (ClassNotFoundException
-         | NoSuchMethodException
-         | InvocationTargetException
-         | IllegalAccessException e) {
-       e.printStackTrace();
-     }
-     return contextInstance;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-6.html b/CodeCoverageReport/ns-2/sources/source-6.html deleted file mode 100644 index 663548aab..000000000 --- a/CodeCoverageReport/ns-2/sources/source-6.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - Coverage Report > PackageInfo - - - - - - -
- - -

Coverage Summary for Class: PackageInfo (com.google.maps.android)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PackageInfo - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/12) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import java.lang.reflect.Field;
- import org.jetbrains.annotations.Nullable;
- 
- /** Wrapper for the Android class android.content.pm.PackageInfo */
- public class PackageInfo {
-   private Class<?> piClass;
-   private Object piInstance;
- 
-   public PackageInfo(Class<?> piClass, Object piInstance) {
-     this.piClass = piClass;
-     this.piInstance = piInstance;
-   }
- 
-   /** @return the signing signature for the app */
-   @Nullable
-   public Object signingSignature() {
-     try {
-       Field signaturesField = piClass.getField("signatures");
-       Object[] signatures = (Object[]) signaturesField.get(piInstance);
-       if (signatures == null || signatures.length == 0 || signatures[0] == null) {
-         return null;
-       }
-       return signatures[0];
-     } catch (NoSuchFieldException | IllegalAccessException e) {
-       e.printStackTrace();
-     }
-     return null;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-2/sources/source-7.html b/CodeCoverageReport/ns-2/sources/source-7.html deleted file mode 100644 index 19b95972d..000000000 --- a/CodeCoverageReport/ns-2/sources/source-7.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - Coverage Report > PackageManager - - - - - - -
- - -

Coverage Summary for Class: PackageManager (com.google.maps.android)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
PackageManager - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/10) - -
- -
-
- - -
- package com.google.maps.android;
- 
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import org.jetbrains.annotations.NotNull;
- import org.jetbrains.annotations.Nullable;
- 
- /** Wrapper for the Android class android.content.pm.PackageManager. */
- public class PackageManager {
-   private Class<?> pmClass;
-   private Object pmInstance;
- 
-   public PackageManager(@NotNull Class<?> pmClass, @NotNull Object pm) {
-     this.pmClass = pmClass;
-     this.pmInstance = pm;
-   }
- 
-   /**
-    * Similar to <a
-    * href="https://developer.android.com/reference/android/content/pm/PackageManager#getPackageInfo(java.lang.String,%20int)">PackageInfo#getPackageInfo</a>
-    * but performed through reflection.
-    *
-    * @param packageName the package name
-    * @param flags additional flags
-    * @return the PackageInfo for the requested package name if found, otherwise, null
-    */
-   @Nullable
-   public PackageInfo getPackageInfo(String packageName, int flags) {
-     try {
-       final Class<?> piClass = Class.forName("android.content.pm.PackageInfo");
-       final Method method = pmClass.getMethod("getPackageInfo", String.class, int.class);
-       return new PackageInfo(piClass, method.invoke(pmInstance, packageName, flags));
-     } catch (NoSuchMethodException
-         | IllegalAccessException
-         | InvocationTargetException
-         | ClassNotFoundException e) {
-       e.printStackTrace();
-     }
-     return null;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/index.html b/CodeCoverageReport/ns-3/index.html deleted file mode 100644 index 8454125af..000000000 --- a/CodeCoverageReport/ns-3/index.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html deleted file mode 100644 index 297f51f41..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 35c9e34c8..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html deleted file mode 100644 index a92538ea1..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index a4babb8ed..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html deleted file mode 100644 index f217d2d82..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_LINE.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index 45921c3c3..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html deleted file mode 100644 index f5cf672fc..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index c2cb492cb..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index e94c9121c..000000000 --- a/CodeCoverageReport/ns-3/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - Coverage Report > com.google.maps.errors - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.errors

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.errors - - 53.8% - - - (7/13) - - - - 57.1% - - - (8/14) - - - - 66.7% - - - (28/42) - - - - 63.8% - - - (44/69) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (2/2) - -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/2) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-1.html b/CodeCoverageReport/ns-3/sources/source-1.html deleted file mode 100644 index dd988a8ee..000000000 --- a/CodeCoverageReport/ns-3/sources/source-1.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - Coverage Report > AccessNotConfiguredException - - - - - - -
- - -

Coverage Summary for Class: AccessNotConfiguredException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
AccessNotConfiguredException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that the API call was not configured for the supplied credentials and environmental
-  * conditions. Check the error message for details.
-  */
- public class AccessNotConfiguredException extends ApiException {
- 
-   private static final long serialVersionUID = -9167434506751721386L;
- 
-   public AccessNotConfiguredException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-2.html b/CodeCoverageReport/ns-3/sources/source-2.html deleted file mode 100644 index 733f29ffc..000000000 --- a/CodeCoverageReport/ns-3/sources/source-2.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - Coverage Report > ApiError - - - - - - -
- - -

Coverage Summary for Class: ApiError (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
ApiError - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/1) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /** An error returned by the API, including some extra information for aiding in debugging. */
- public class ApiError {
-   public int code;
-   public String message;
-   public String status;
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-3.html b/CodeCoverageReport/ns-3/sources/source-3.html deleted file mode 100644 index e9e32a259..000000000 --- a/CodeCoverageReport/ns-3/sources/source-3.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - Coverage Report > ApiException - - - - - - -
- - -

Coverage Summary for Class: ApiException (com.google.maps.errors)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
ApiException - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (28/42) - - - - 69.6% - - - (32/46) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * ApiException and its descendants represent an error returned by the remote API. API errors are
-  * determined by the {@code status} field returned in any of the Geo API responses.
-  */
- public class ApiException extends Exception {
-   private static final long serialVersionUID = -6550606366694345191L;
- 
-   protected ApiException(String message) {
-     super(message);
-   }
- 
-   /**
-    * Construct the appropriate ApiException from the response. If the response was successful, this
-    * method will return null.
-    *
-    * @param status The status field returned from the API
-    * @param errorMessage The error message returned from the API
-    * @return The appropriate ApiException based on the status or null if no error occurred.
-    */
-   public static ApiException from(String status, String errorMessage) {
-     // Classic Geo API error formats
-     if ("OK".equals(status)) {
-       return null;
-     } else if ("INVALID_REQUEST".equals(status)) {
-       return new InvalidRequestException(errorMessage);
-     } else if ("MAX_ELEMENTS_EXCEEDED".equals(status)) {
-       return new MaxElementsExceededException(errorMessage);
-     } else if ("MAX_ROUTE_LENGTH_EXCEEDED".equals(status)) {
-       return new MaxRouteLengthExceededException(errorMessage);
-     } else if ("MAX_WAYPOINTS_EXCEEDED".equals(status)) {
-       return new MaxWaypointsExceededException(errorMessage);
-     } else if ("NOT_FOUND".equals(status)) {
-       return new NotFoundException(errorMessage);
-     } else if ("OVER_QUERY_LIMIT".equals(status)) {
-       if ("You have exceeded your daily request quota for this API. If you did not set a custom daily request quota, verify your project has an active billing account: http://g.co/dev/maps-no-account"
-           .equalsIgnoreCase(errorMessage)) {
-         return new OverDailyLimitException(errorMessage);
-       }
-       return new OverQueryLimitException(errorMessage);
-     } else if ("REQUEST_DENIED".equals(status)) {
-       return new RequestDeniedException(errorMessage);
-     } else if ("UNKNOWN_ERROR".equals(status)) {
-       return new UnknownErrorException(errorMessage);
-     } else if ("ZERO_RESULTS".equals(status)) {
-       return new ZeroResultsException(errorMessage);
-     }
- 
-     // New-style Geo API error formats
-     if ("ACCESS_NOT_CONFIGURED".equals(status)) {
-       return new AccessNotConfiguredException(errorMessage);
-     } else if ("INVALID_ARGUMENT".equals(status)) {
-       return new InvalidRequestException(errorMessage);
-     } else if ("RESOURCE_EXHAUSTED".equals(status)) {
-       return new OverQueryLimitException(errorMessage);
-     } else if ("PERMISSION_DENIED".equals(status)) {
-       return new RequestDeniedException(errorMessage);
-     }
- 
-     // Geolocation Errors
-     if ("keyInvalid".equals(status)) {
-       return new AccessNotConfiguredException(errorMessage);
-     } else if ("dailyLimitExceeded".equals(status)) {
-       return new OverDailyLimitException(errorMessage);
-     } else if ("userRateLimitExceeded".equals(status)) {
-       return new OverQueryLimitException(errorMessage);
-     } else if ("notFound".equals(status)) {
-       return new NotFoundException(errorMessage);
-     } else if ("parseError".equals(status)) {
-       return new InvalidRequestException(errorMessage);
-     } else if ("invalid".equals(status)) {
-       return new InvalidRequestException(errorMessage);
-     }
- 
-     // We've hit an unknown error. This is not a state we should hit,
-     // but we don't want to crash a user's application if we introduce a new error.
-     return new UnknownErrorException(
-         "An unexpected error occurred. Status: " + status + ", Message: " + errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-4.html b/CodeCoverageReport/ns-3/sources/source-4.html deleted file mode 100644 index 1139ac534..000000000 --- a/CodeCoverageReport/ns-3/sources/source-4.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - Coverage Report > InvalidRequestException - - - - - - -
- - -

Coverage Summary for Class: InvalidRequestException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
InvalidRequestException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /** Indicates that the API received a malformed request. */
- public class InvalidRequestException extends ApiException {
- 
-   private static final long serialVersionUID = -5682669561780594333L;
- 
-   public InvalidRequestException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-5.html b/CodeCoverageReport/ns-3/sources/source-5.html deleted file mode 100644 index 6ba376727..000000000 --- a/CodeCoverageReport/ns-3/sources/source-5.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - Coverage Report > MaxElementsExceededException - - - - - - -
- - -

Coverage Summary for Class: MaxElementsExceededException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
MaxElementsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that the product of origins and destinations exceeds the per-query limit.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/distance-matrix/usage-limits">
-  *     Limits</a>
-  */
- public class MaxElementsExceededException extends ApiException {
- 
-   private static final long serialVersionUID = 5926526363472768479L;
- 
-   public MaxElementsExceededException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-6.html b/CodeCoverageReport/ns-3/sources/source-6.html deleted file mode 100644 index 8543ac65a..000000000 --- a/CodeCoverageReport/ns-3/sources/source-6.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - Coverage Report > MaxRouteLengthExceededException - - - - - - -
- - -

Coverage Summary for Class: MaxRouteLengthExceededException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
MaxRouteLengthExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that the requested route is too long and cannot be processed.
-  *
-  * <p>This error occurs when more complex directions are returned. Try reducing the number of
-  * waypoints, turns, or instructions.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
-  *     Status Codes</a>
-  */
- public class MaxRouteLengthExceededException extends ApiException {
- 
-   private static final long serialVersionUID = 5926526363472768479L;
- 
-   public MaxRouteLengthExceededException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-7.html b/CodeCoverageReport/ns-3/sources/source-7.html deleted file mode 100644 index 9236ba83c..000000000 --- a/CodeCoverageReport/ns-3/sources/source-7.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Coverage Report > MaxWaypointsExceededException - - - - - - -
- - -

Coverage Summary for Class: MaxWaypointsExceededException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
MaxWaypointsExceededException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2019 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that too many waypoints were provided in the request.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
-  *     Status Codes</a>
-  */
- public class MaxWaypointsExceededException extends ApiException {
-   private static final long serialVersionUID = 1L;
- 
-   public MaxWaypointsExceededException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-8.html b/CodeCoverageReport/ns-3/sources/source-8.html deleted file mode 100644 index ead1a19d6..000000000 --- a/CodeCoverageReport/ns-3/sources/source-8.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - Coverage Report > NotFoundException - - - - - - -
- - -

Coverage Summary for Class: NotFoundException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
NotFoundException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates at least one of the locations specified in the request's origin, destination, or
-  * waypoints could not be geocoded.
-  */
- public class NotFoundException extends ApiException {
- 
-   private static final long serialVersionUID = -5447625132975504651L;
- 
-   public NotFoundException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-9.html b/CodeCoverageReport/ns-3/sources/source-9.html deleted file mode 100644 index 2d3230692..000000000 --- a/CodeCoverageReport/ns-3/sources/source-9.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - Coverage Report > OverDailyLimitException - - - - - - -
- - -

Coverage Summary for Class: OverDailyLimitException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
OverDailyLimitException - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /** Indicates that the requesting account has exceeded its daily quota. */
- public class OverDailyLimitException extends ApiException {
- 
-   private static final long serialVersionUID = 9172790459877314621L;
- 
-   public OverDailyLimitException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-a.html b/CodeCoverageReport/ns-3/sources/source-a.html deleted file mode 100644 index 121614435..000000000 --- a/CodeCoverageReport/ns-3/sources/source-a.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - Coverage Report > OverQueryLimitException - - - - - - -
- - -

Coverage Summary for Class: OverQueryLimitException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
OverQueryLimitException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /** Indicates that the requesting account has exceeded its short-term quota. */
- public class OverQueryLimitException extends ApiException {
- 
-   private static final long serialVersionUID = -6888513535435397042L;
- 
-   public OverQueryLimitException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-b.html b/CodeCoverageReport/ns-3/sources/source-b.html deleted file mode 100644 index 590d47e7a..000000000 --- a/CodeCoverageReport/ns-3/sources/source-b.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - Coverage Report > RequestDeniedException - - - - - - -
- - -

Coverage Summary for Class: RequestDeniedException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
RequestDeniedException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /** Indicates that the API denied the request. Check the message for more detail. */
- public class RequestDeniedException extends ApiException {
-   private static final long serialVersionUID = -1434641617962369958L;
- 
-   public RequestDeniedException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-c.html b/CodeCoverageReport/ns-3/sources/source-c.html deleted file mode 100644 index 92eac4773..000000000 --- a/CodeCoverageReport/ns-3/sources/source-c.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - Coverage Report > UnknownErrorException - - - - - - -
- - -

Coverage Summary for Class: UnknownErrorException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
UnknownErrorException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that the server encountered an unknown error. In some cases these are safe to retry.
-  */
- public class UnknownErrorException extends ApiException {
- 
-   private static final long serialVersionUID = -4588344280364816431L;
- 
-   public UnknownErrorException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-3/sources/source-d.html b/CodeCoverageReport/ns-3/sources/source-d.html deleted file mode 100644 index b0156d8b8..000000000 --- a/CodeCoverageReport/ns-3/sources/source-d.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - Coverage Report > ZeroResultsException - - - - - - -
- - -

Coverage Summary for Class: ZeroResultsException (com.google.maps.errors)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
ZeroResultsException - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.errors;
- 
- /**
-  * Indicates that no results were returned.
-  *
-  * <p>In some cases, this will be treated as a success state and you will only see an empty array.
-  * For time zone data, it means that no time zone information could be found for the specified
-  * position or time. Confirm that the request is for a location on land, and not over water.
-  */
- public class ZeroResultsException extends ApiException {
- 
-   private static final long serialVersionUID = -9096790004183184907L;
- 
-   public ZeroResultsException(String errorMessage) {
-     super(errorMessage);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/index.html b/CodeCoverageReport/ns-4/index.html deleted file mode 100644 index adad73c8d..000000000 --- a/CodeCoverageReport/ns-4/index.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html deleted file mode 100644 index ae624e850..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index d3e7da8e9..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html deleted file mode 100644 index 5c1deed9d..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index 089e249e1..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html deleted file mode 100644 index 1d0658c5e..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_LINE.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index cb2b5be82..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html deleted file mode 100644 index 517280fde..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index 81878a1f1..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index c513b6c59..000000000 --- a/CodeCoverageReport/ns-4/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,846 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal - - 84.6% - - - (22/26) - - - - 57.5% - - - (65/113) - - - - 56.4% - - - (132/234) - - - - 63.6% - - - (371/583) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
StringJoin - - 100% - - - (1/1) - - - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
RateLimitExecutorService - - 75% - - - (3/4) - - - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
OkHttpPendingResult - - 100% - - - (3/3) - - - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - - 0% - - - (0/1) - -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/3) - -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - - 100% - - - (15/15) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-1.html b/CodeCoverageReport/ns-4/sources/source-1.html deleted file mode 100644 index 5150109f6..000000000 --- a/CodeCoverageReport/ns-4/sources/source-1.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - Coverage Report > ApiConfig - - - - - - -
- - -

Coverage Summary for Class: ApiConfig (com.google.maps.internal)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
ApiConfig - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (15/15) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.FieldNamingPolicy;
- 
- /** API configuration builder. Defines fields that are variable per-API. */
- public class ApiConfig {
-   public String path;
-   public FieldNamingPolicy fieldNamingPolicy = FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES;
-   public String hostName = "https://maps.googleapis.com";
-   public boolean supportsClientId = true;
-   public String requestVerb = "GET";
- 
-   public ApiConfig(String path) {
-     this.path = path;
-   }
- 
-   public ApiConfig fieldNamingPolicy(FieldNamingPolicy fieldNamingPolicy) {
-     this.fieldNamingPolicy = fieldNamingPolicy;
-     return this;
-   }
- 
-   public ApiConfig hostName(String hostName) {
-     this.hostName = hostName;
-     return this;
-   }
- 
-   public ApiConfig supportsClientId(boolean supportsClientId) {
-     this.supportsClientId = supportsClientId;
-     return this;
-   }
- 
-   public ApiConfig requestVerb(String requestVerb) {
-     this.requestVerb = requestVerb;
-     return this;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-10.html b/CodeCoverageReport/ns-4/sources/source-10.html deleted file mode 100644 index 66f2062b0..000000000 --- a/CodeCoverageReport/ns-4/sources/source-10.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - Coverage Report > PriceLevelAdapter - - - - - - -
- - -

Coverage Summary for Class: PriceLevelAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PriceLevelAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 33.3% - - - (3/9) - - - - 42.9% - - - (6/14) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.PriceLevel;
- import java.io.IOException;
- 
- /**
-  * This class handles conversion from JSON to {@link PriceLevel}.
-  *
-  * <p>Please see <a
-  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
-  * Type Adapter</a> for more detail.
-  */
- public class PriceLevelAdapter extends TypeAdapter<PriceLevel> {
- 
-   @Override
-   public PriceLevel read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     if (reader.peek() == JsonToken.NUMBER) {
-       int priceLevel = reader.nextInt();
- 
-       switch (priceLevel) {
-         case 0:
-           return PriceLevel.FREE;
-         case 1:
-           return PriceLevel.INEXPENSIVE;
-         case 2:
-           return PriceLevel.MODERATE;
-         case 3:
-           return PriceLevel.EXPENSIVE;
-         case 4:
-           return PriceLevel.VERY_EXPENSIVE;
-       }
-     }
- 
-     return PriceLevel.UNKNOWN;
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter writer, PriceLevel value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-11.html b/CodeCoverageReport/ns-4/sources/source-11.html deleted file mode 100644 index 485dffcdf..000000000 --- a/CodeCoverageReport/ns-4/sources/source-11.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - Coverage Report > RateLimitExecutorService - - - - - - -
- - -

Coverage Summary for Class: RateLimitExecutorService (com.google.maps.internal)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
RateLimitExecutorService - - 38.9% - - - (7/18) - - - - 100% - - - (4/4) - - - - 67.4% - - - (31/46) - -
RateLimitExecutorService$1 - - 100% - - - (2/2) - - - - 100% - - - (4/4) - -
RateLimitExecutorService$2 - - 50% - - - (1/2) - - - - 50% - - - (1/2) - -
RateLimitExecutorService$3 - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
Total - - 41.7% - - - (10/24) - - - - 100% - - - (4/4) - - - - 66.7% - - - (36/54) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.maps.internal.ratelimiter.RateLimiter;
- import java.util.Collection;
- import java.util.List;
- import java.util.concurrent.BlockingQueue;
- import java.util.concurrent.Callable;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Future;
- import java.util.concurrent.LinkedBlockingQueue;
- import java.util.concurrent.SynchronousQueue;
- import java.util.concurrent.ThreadFactory;
- import java.util.concurrent.ThreadPoolExecutor;
- import java.util.concurrent.TimeUnit;
- import java.util.concurrent.TimeoutException;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 
- /** Rate Limit Policy for Google Maps Web Services APIs. */
- public class RateLimitExecutorService implements ExecutorService, Runnable {
- 
-   private static final Logger LOG =
-       LoggerFactory.getLogger(RateLimitExecutorService.class.getName());
-   private static final int DEFAULT_QUERIES_PER_SECOND = 50;
- 
-   // It's important we set Ok's second arg to threadFactory(.., true) to ensure the threads are
-   // killed when the app exits. For synchronous requests this is ideal but it means any async
-   // requests still pending after termination will be killed.
-   private final ExecutorService delegate =
-       new ThreadPoolExecutor(
-           Runtime.getRuntime().availableProcessors(),
-           Integer.MAX_VALUE,
-           60,
-           TimeUnit.SECONDS,
-           new SynchronousQueue<Runnable>(),
-           threadFactory("Rate Limited Dispatcher", true));
- 
-   private final BlockingQueue<Runnable> queue = new LinkedBlockingQueue<>();
-   private final RateLimiter rateLimiter =
-       RateLimiter.create(DEFAULT_QUERIES_PER_SECOND, 1, TimeUnit.SECONDS);
- 
-   final Thread delayThread;
- 
-   public RateLimitExecutorService() {
-     setQueriesPerSecond(DEFAULT_QUERIES_PER_SECOND);
-     delayThread = new Thread(this);
-     delayThread.setDaemon(true);
-     delayThread.setName("RateLimitExecutorDelayThread");
-     delayThread.start();
-   }
- 
-   public void setQueriesPerSecond(int maxQps) {
-     this.rateLimiter.setRate(maxQps);
-   }
- 
-   /** Main loop. */
-   @Override
-   public void run() {
-     try {
-       while (!delegate.isShutdown()) {
-         this.rateLimiter.acquire();
-         Runnable r = queue.take();
-         if (!delegate.isShutdown()) {
-           delegate.execute(r);
-         }
-       }
-     } catch (InterruptedException ie) {
-       LOG.info("Interrupted", ie);
-     }
-   }
- 
-   private static ThreadFactory threadFactory(final String name, final boolean daemon) {
-     return new ThreadFactory() {
-       @Override
-       public Thread newThread(Runnable runnable) {
-         Thread result = new Thread(runnable, name);
-         result.setDaemon(daemon);
-         return result;
-       }
-     };
-   }
- 
-   @Override
-   public void execute(Runnable runnable) {
-     queue.add(runnable);
-   }
- 
-   @Override
-   public void shutdown() {
-     delegate.shutdown();
-     // we need this to break out of queue.take()
-     execute(
-         new Runnable() {
-           @Override
-           public void run() {
-             // do nothing
-           }
-         });
-   }
- 
-   // Everything below here is straight delegation.
- 
-   @Override
-   public List<Runnable> shutdownNow() {
-     List<Runnable> tasks = delegate.shutdownNow();
-     // we need this to break out of queue.take()
-     execute(
-         new Runnable() {
-           @Override
-           public void run() {
-             // do nothing
-           }
-         });
-     return tasks;
-   }
- 
-   @Override
-   public boolean isShutdown() {
-     return delegate.isShutdown();
-   }
- 
-   @Override
-   public boolean isTerminated() {
-     return delegate.isTerminated();
-   }
- 
-   @Override
-   public boolean awaitTermination(long l, TimeUnit timeUnit) throws InterruptedException {
-     return delegate.awaitTermination(l, timeUnit);
-   }
- 
-   @Override
-   public <T> Future<T> submit(Callable<T> tCallable) {
-     return delegate.submit(tCallable);
-   }
- 
-   @Override
-   public <T> Future<T> submit(Runnable runnable, T t) {
-     return delegate.submit(runnable, t);
-   }
- 
-   @Override
-   public Future<?> submit(Runnable runnable) {
-     return delegate.submit(runnable);
-   }
- 
-   @Override
-   public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> callables)
-       throws InterruptedException {
-     return delegate.invokeAll(callables);
-   }
- 
-   @Override
-   public <T> List<Future<T>> invokeAll(
-       Collection<? extends Callable<T>> callables, long l, TimeUnit timeUnit)
-       throws InterruptedException {
-     return delegate.invokeAll(callables, l, timeUnit);
-   }
- 
-   @Override
-   public <T> T invokeAny(Collection<? extends Callable<T>> callables)
-       throws InterruptedException, ExecutionException {
-     return delegate.invokeAny(callables);
-   }
- 
-   @Override
-   public <T> T invokeAny(Collection<? extends Callable<T>> callables, long l, TimeUnit timeUnit)
-       throws InterruptedException, ExecutionException, TimeoutException {
-     return delegate.invokeAny(callables, l, timeUnit);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-12.html b/CodeCoverageReport/ns-4/sources/source-12.html deleted file mode 100644 index 0e5a23bf8..000000000 --- a/CodeCoverageReport/ns-4/sources/source-12.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - Coverage Report > SafeEnumAdapter - - - - - - -
- - -

Coverage Summary for Class: SafeEnumAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
SafeEnumAdapter - - 100% - - - (1/1) - - - - 75% - - - (3/4) - - - - 50% - - - (2/4) - - - - 60% - - - (9/15) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import java.io.IOException;
- import java.util.Locale;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 
- /**
-  * A {@link com.google.gson.TypeAdapter} that maps case-insensitive values to an enum type. If the
-  * value is not found, an UNKNOWN value is returned, and logged. This allows the server to return
-  * values this client doesn't yet know about.
-  *
-  * @param <E> the enum type to map values to.
-  */
- public class SafeEnumAdapter<E extends Enum<E>> extends TypeAdapter<E> {
- 
-   private static final Logger LOG = LoggerFactory.getLogger(SafeEnumAdapter.class.getName());
- 
-   private final Class<E> clazz;
-   private final E unknownValue;
- 
-   /** @param unknownValue the value to return if the value cannot be found. */
-   public SafeEnumAdapter(E unknownValue) {
-     if (unknownValue == null) throw new IllegalArgumentException();
- 
-     this.unknownValue = unknownValue;
-     this.clazz = unknownValue.getDeclaringClass();
-   }
- 
-   @Override
-   public void write(JsonWriter out, E value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- 
-   @Override
-   public E read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
-     String value = reader.nextString();
-     try {
-       return Enum.valueOf(clazz, value.toUpperCase(Locale.ENGLISH));
-     } catch (IllegalArgumentException iae) {
-       LOG.warn("Unknown type for enum {}: '{}'", clazz.getName(), value);
-       return unknownValue;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-13.html b/CodeCoverageReport/ns-4/sources/source-13.html deleted file mode 100644 index 221a94792..000000000 --- a/CodeCoverageReport/ns-4/sources/source-13.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - Coverage Report > StringJoin - - - - - - -
- - -

Coverage Summary for Class: StringJoin (com.google.maps.internal)

- - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
StringJoin - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
StringJoin$UrlValue
Total - - 66.7% - - - (4/6) - - - - 100% - - - (10/10) - - - - 90% - - - (18/20) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import java.util.Objects;
- 
- /** Utility class to join strings. */
- public class StringJoin {
- 
-   /**
-    * Marker Interface to enable the URL Value enums in {@link com.google.maps.DirectionsApi} to be
-    * string joinable.
-    */
-   public interface UrlValue {
-     /** @return the object, represented as a URL value (not URL encoded). */
-     String toUrlValue();
-   }
- 
-   private StringJoin() {}
- 
-   public static String join(char delim, String... parts) {
-     return join(new String(new char[] {delim}), parts);
-   }
- 
-   public static String join(CharSequence delim, String... parts) {
-     StringBuilder result = new StringBuilder();
-     for (int i = 0; i < parts.length; i++) {
-       if (i != 0) {
-         result.append(delim);
-       }
-       result.append(parts[i]);
-     }
-     return result.toString();
-   }
- 
-   public static String join(char delim, Object... parts) {
-     return join(new String(new char[] {delim}), parts);
-   }
- 
-   public static String join(CharSequence delim, Object... parts) {
-     StringBuilder result = new StringBuilder();
-     for (int i = 0; i < parts.length; i++) {
-       if (i != 0) {
-         result.append(delim);
-       }
-       result.append(Objects.toString(parts[i]));
-     }
-     return result.toString();
-   }
- 
-   public static String join(char delim, UrlValue... parts) {
-     String[] strings = new String[parts.length];
-     int i = 0;
-     for (UrlValue part : parts) {
-       strings[i++] = part.toUrlValue();
-     }
- 
-     return join(delim, strings);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-14.html b/CodeCoverageReport/ns-4/sources/source-14.html deleted file mode 100644 index a491e126e..000000000 --- a/CodeCoverageReport/ns-4/sources/source-14.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - Coverage Report > UrlSigner - - - - - - -
- - -

Coverage Summary for Class: UrlSigner (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
UrlSigner - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 50% - - - (1/2) - - - - 76.9% - - - (10/13) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import static java.nio.charset.StandardCharsets.UTF_8;
- 
- import java.security.InvalidKeyException;
- import java.security.NoSuchAlgorithmException;
- import javax.crypto.Mac;
- import javax.crypto.spec.SecretKeySpec;
- import okio.ByteString;
- 
- /**
-  * Utility class for supporting Maps for Work Digital signatures.
-  *
-  * <p>See <a
-  * href="https://developers.google.com/maps/documentation/directions/get-api-key#client-id">Using a
-  * client ID</a> for more detail on this protocol.
-  */
- public class UrlSigner {
-   private static final String ALGORITHM_HMAC_SHA1 = "HmacSHA1";
-   private final Mac mac;
- 
-   public UrlSigner(final String keyString) throws NoSuchAlgorithmException, InvalidKeyException {
-     // Convert from URL-safe base64 to regular base64.
-     String base64 = keyString.replace('-', '+').replace('_', '/');
- 
-     ByteString decodedKey = ByteString.decodeBase64(base64);
-     if (decodedKey == null) {
-       // NOTE: don't log the exception, in case some of the private key leaks to an end-user.
-       throw new IllegalArgumentException("Private key is invalid.");
-     }
- 
-     mac = Mac.getInstance(ALGORITHM_HMAC_SHA1);
-     mac.init(new SecretKeySpec(decodedKey.toByteArray(), ALGORITHM_HMAC_SHA1));
-   }
- 
-   /** Generate url safe HmacSHA1 of a path. */
-   public String getSignature(String path) {
-     byte[] digest = getMac().doFinal(path.getBytes(UTF_8));
-     return ByteString.of(digest).base64().replace('+', '-').replace('/', '_');
-   }
- 
-   private Mac getMac() {
-     // Mac is not thread-safe. Requires a new clone for each signature.
-     try {
-       return (Mac) mac.clone();
-     } catch (CloneNotSupportedException e) {
-       throw new IllegalStateException(e);
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-15.html b/CodeCoverageReport/ns-4/sources/source-15.html deleted file mode 100644 index 62b9a602a..000000000 --- a/CodeCoverageReport/ns-4/sources/source-15.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - Coverage Report > ZonedDateTimeAdapter - - - - - - -
- - -

Coverage Summary for Class: ZonedDateTimeAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
ZonedDateTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (8/10) - - - - 85% - - - (17/20) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import java.io.IOException;
- import java.time.Instant;
- import java.time.ZoneId;
- import java.time.ZonedDateTime;
- 
- /**
-  * This class handles conversion from JSON to {@link ZonedDateTime}s.
-  *
-  * <p>Please see <a
-  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">TypeAdapter</a>
-  * for more detail.
-  */
- public class ZonedDateTimeAdapter extends TypeAdapter<ZonedDateTime> {
- 
-   /**
-    * Read a Time object from a Directions API result and convert it to a {@link ZonedDateTime}.
-    *
-    * <p>We are expecting to receive something akin to the following:
-    *
-    * <pre>
-    * {
-    *   "text" : "4:27pm",
-    *   "time_zone" : "Australia/Sydney",
-    *   "value" : 1406528829
-    * }
-    * </pre>
-    */
-   @Override
-   public ZonedDateTime read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     String timeZoneId = "";
-     long secondsSinceEpoch = 0L;
- 
-     reader.beginObject();
-     while (reader.hasNext()) {
-       String name = reader.nextName();
-       if (name.equals("text")) {
-         // Ignore the human-readable rendering.
-         reader.nextString();
-       } else if (name.equals("time_zone")) {
-         timeZoneId = reader.nextString();
-       } else if (name.equals("value")) {
-         secondsSinceEpoch = reader.nextLong();
-       }
-     }
-     reader.endObject();
- 
-     return ZonedDateTime.ofInstant(
-         Instant.ofEpochMilli(secondsSinceEpoch * 1000), ZoneId.of(timeZoneId));
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter writer, ZonedDateTime value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-16.html b/CodeCoverageReport/ns-4/sources/source-16.html deleted file mode 100644 index 5be253c94..000000000 --- a/CodeCoverageReport/ns-4/sources/source-16.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - Coverage Report > ApiResponse - - - - - - -
- - -

Coverage Summary for Class: ApiResponse (com.google.maps.internal)

- - - - - - - - - - - - - - - - - - -
Class
ApiResponse$MockitoMock$xMBB80MP
ApiResponse$MockitoMock$xMBB80MP$auxiliary$5hLB9xSM
ApiResponse$MockitoMock$xMBB80MP$auxiliary$AXzkHk5D
Total
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.maps.errors.ApiException;
- 
- /** All Geo API responses implement this Interface. */
- public interface ApiResponse<T> {
-   boolean successful();
- 
-   T getResult();
- 
-   ApiException getError();
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-2.html b/CodeCoverageReport/ns-4/sources/source-2.html deleted file mode 100644 index 9bfcbdf03..000000000 --- a/CodeCoverageReport/ns-4/sources/source-2.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - - Coverage Report > DayOfWeekAdapter - - - - - - -
- - -

Coverage Summary for Class: DayOfWeekAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DayOfWeekAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 81.8% - - - (9/11) - - - - 75% - - - (12/16) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
- import java.io.IOException;
- 
- /**
-  * This class handles conversion from JSON to {@link DayOfWeek}.
-  *
-  * <p>Please see <a
-  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
-  * Type Adapter</a> for more detail.
-  */
- public class DayOfWeekAdapter extends TypeAdapter<DayOfWeek> {
- 
-   @Override
-   public DayOfWeek read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     if (reader.peek() == JsonToken.NUMBER) {
-       int day = reader.nextInt();
- 
-       switch (day) {
-         case 0:
-           return DayOfWeek.SUNDAY;
-         case 1:
-           return DayOfWeek.MONDAY;
-         case 2:
-           return DayOfWeek.TUESDAY;
-         case 3:
-           return DayOfWeek.WEDNESDAY;
-         case 4:
-           return DayOfWeek.THURSDAY;
-         case 5:
-           return DayOfWeek.FRIDAY;
-         case 6:
-           return DayOfWeek.SATURDAY;
-       }
-     }
- 
-     return DayOfWeek.UNKNOWN;
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter writer, DayOfWeek value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-3.html b/CodeCoverageReport/ns-4/sources/source-3.html deleted file mode 100644 index 51aee4cea..000000000 --- a/CodeCoverageReport/ns-4/sources/source-3.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - Coverage Report > DistanceAdapter - - - - - - -
- - -

Coverage Summary for Class: DistanceAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DistanceAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.Distance;
- import java.io.IOException;
- 
- /**
-  * This class handles conversion from JSON to {@link Distance}.
-  *
-  * <p>Please see <a
-  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
-  * Type Adapter</a> for more detail.
-  */
- public class DistanceAdapter extends TypeAdapter<Distance> {
- 
-   /**
-    * Read a distance object from a Directions API result and convert it to a {@link Distance}.
-    *
-    * <p>We are expecting to receive something akin to the following:
-    *
-    * <pre>
-    * {
-    *   "value": 207, "text": "0.1 mi"
-    * }
-    * </pre>
-    */
-   @Override
-   public Distance read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     Distance distance = new Distance();
- 
-     reader.beginObject();
-     while (reader.hasNext()) {
-       String name = reader.nextName();
-       if (name.equals("text")) {
-         distance.humanReadable = reader.nextString();
-       } else if (name.equals("value")) {
-         distance.inMeters = reader.nextLong();
-       }
-     }
-     reader.endObject();
- 
-     return distance;
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter writer, Distance value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-4.html b/CodeCoverageReport/ns-4/sources/source-4.html deleted file mode 100644 index 2ee42a302..000000000 --- a/CodeCoverageReport/ns-4/sources/source-4.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - Coverage Report > DurationAdapter - - - - - - -
- - -

Coverage Summary for Class: DurationAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DurationAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (6/8) - - - - 81.2% - - - (13/16) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.Distance;
- import com.google.maps.model.Duration;
- import java.io.IOException;
- 
- /**
-  * This class handles conversion from JSON to {@link Distance}.
-  *
-  * <p>Please see <a
-  * href="https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/TypeAdapter.html">GSON
-  * Type Adapter</a> for more detail.
-  */
- public class DurationAdapter extends TypeAdapter<Duration> {
- 
-   /**
-    * Read a distance object from a Directions API result and convert it to a {@link Distance}.
-    *
-    * <p>We are expecting to receive something akin to the following:
-    *
-    * <pre>
-    * {
-    *   "value": 207,
-    *   "text": "0.1 mi"
-    * }
-    * </pre>
-    */
-   @Override
-   public Duration read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     Duration duration = new Duration();
- 
-     reader.beginObject();
-     while (reader.hasNext()) {
-       String name = reader.nextName();
-       if (name.equals("text")) {
-         duration.humanReadable = reader.nextString();
-       } else if (name.equals("value")) {
-         duration.inSeconds = reader.nextLong();
-       }
-     }
-     reader.endObject();
- 
-     return duration;
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter writer, Duration value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-5.html b/CodeCoverageReport/ns-4/sources/source-5.html deleted file mode 100644 index f415db9f9..000000000 --- a/CodeCoverageReport/ns-4/sources/source-5.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - Coverage Report > EncodedPolylineInstanceCreator - - - - - - -
- - -

Coverage Summary for Class: EncodedPolylineInstanceCreator (com.google.maps.internal)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
EncodedPolylineInstanceCreator - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/3) - -
- -
-
- - -
- /*
-  * Copyright 2017 by https://github.com/ArielY15
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.InstanceCreator;
- import com.google.maps.model.EncodedPolyline;
- import java.lang.reflect.Type;
- 
- public class EncodedPolylineInstanceCreator implements InstanceCreator<EncodedPolyline> {
-   private String points;
- 
-   public EncodedPolylineInstanceCreator(String points) {
-     this.points = points;
-   }
- 
-   @Override
-   public EncodedPolyline createInstance(Type type) {
-     return new EncodedPolyline(points);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-6.html b/CodeCoverageReport/ns-4/sources/source-6.html deleted file mode 100644 index df51f9f57..000000000 --- a/CodeCoverageReport/ns-4/sources/source-6.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - Coverage Report > ExceptionsAllowedToRetry - - - - - - -
- - -

Coverage Summary for Class: ExceptionsAllowedToRetry (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
ExceptionsAllowedToRetry - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.maps.errors.ApiException;
- import java.util.HashSet;
- 
- public final class ExceptionsAllowedToRetry extends HashSet<Class<? extends ApiException>> {
- 
-   private static final long serialVersionUID = 5283992240187266422L;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder().append("ExceptionsAllowedToRetry[");
- 
-     Object[] array = toArray();
-     for (int i = 0; i < array.length; i++) {
-       sb.append(array[i]);
-       if (i < array.length - 1) {
-         sb.append(", ");
-       }
-     }
- 
-     sb.append(']');
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-7.html b/CodeCoverageReport/ns-4/sources/source-7.html deleted file mode 100644 index 291369341..000000000 --- a/CodeCoverageReport/ns-4/sources/source-7.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - Coverage Report > FareAdapter - - - - - - -
- - -

Coverage Summary for Class: FareAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
FareAdapter - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 0% - - - (0/8) - - - - 5.9% - - - (1/17) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.Fare;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.util.Currency;
- 
- /** This class handles conversion from JSON to {@link com.google.maps.model.Fare}. */
- public class FareAdapter extends TypeAdapter<Fare> {
- 
-   /**
-    * Read a Fare object from the Directions API and convert to a {@link com.google.maps.model.Fare}
-    *
-    * <pre>{
-    *   "currency": "USD",
-    *   "value": 6
-    * }</pre>
-    */
-   @Override
-   public Fare read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     Fare fare = new Fare();
-     reader.beginObject();
-     while (reader.hasNext()) {
-       String key = reader.nextName();
-       if ("currency".equals(key)) {
-         fare.currency = Currency.getInstance(reader.nextString());
-       } else if ("value".equals(key)) {
-         // this relies on nextString() being able to coerce raw numbers to strings
-         fare.value = new BigDecimal(reader.nextString());
-       } else {
-         // Be forgiving of unexpected values
-         reader.skipValue();
-       }
-     }
-     reader.endObject();
- 
-     return fare;
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter out, Fare value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-8.html b/CodeCoverageReport/ns-4/sources/source-8.html deleted file mode 100644 index 62d83c964..000000000 --- a/CodeCoverageReport/ns-4/sources/source-8.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - - Coverage Report > GaePendingResult - - - - - - -
- - -

Coverage Summary for Class: GaePendingResult (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GaePendingResult - - 0% - - - (0/1) - - - - 0% - - - (0/11) - - - - 0% - - - (0/38) - - - - 0% - - - (0/90) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.appengine.api.urlfetch.HTTPHeader;
- import com.google.appengine.api.urlfetch.HTTPRequest;
- import com.google.appengine.api.urlfetch.HTTPResponse;
- import com.google.appengine.api.urlfetch.URLFetchService;
- import com.google.gson.FieldNamingPolicy;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import com.google.gson.JsonSyntaxException;
- import com.google.maps.GeolocationApi;
- import com.google.maps.ImageResult;
- import com.google.maps.PendingResult;
- import com.google.maps.errors.ApiException;
- import com.google.maps.errors.UnknownErrorException;
- import com.google.maps.metrics.RequestMetrics;
- import com.google.maps.model.AddressComponentType;
- import com.google.maps.model.AddressType;
- import com.google.maps.model.Distance;
- import com.google.maps.model.Duration;
- import com.google.maps.model.EncodedPolyline;
- import com.google.maps.model.Fare;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.LocationType;
- import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
- import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType;
- import com.google.maps.model.PriceLevel;
- import com.google.maps.model.TravelMode;
- import com.google.maps.model.VehicleType;
- import java.io.IOException;
- import java.nio.charset.Charset;
- import java.time.Instant;
- import java.time.LocalTime;
- import java.time.ZonedDateTime;
- import java.util.Arrays;
- import java.util.List;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.Future;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 
- /**
-  * A PendingResult backed by a HTTP call executed by Google App Engine URL Fetch capability, a
-  * deserialization step using Gson, and a retry policy.
-  *
-  * <p>{@code T} is the type of the result of this pending result, and {@code R} is the type of the
-  * request.
-  */
- public class GaePendingResult<T, R extends ApiResponse<T>> implements PendingResult<T> {
-   private final HTTPRequest request;
-   private final URLFetchService client;
-   private final Class<R> responseClass;
-   private final FieldNamingPolicy fieldNamingPolicy;
-   private final Integer maxRetries;
-   private final ExceptionsAllowedToRetry exceptionsAllowedToRetry;
-   private final RequestMetrics metrics;
- 
-   private long errorTimeOut;
-   private int retryCounter = 0;
-   private long cumulativeSleepTime = 0;
-   private Future<HTTPResponse> call;
- 
-   private static final Logger LOG = LoggerFactory.getLogger(GaePendingResult.class.getName());
-   private static final List<Integer> RETRY_ERROR_CODES = Arrays.asList(500, 503, 504);
- 
-   /**
-    * @param request HTTP request to execute.
-    * @param client The client used to execute the request.
-    * @param responseClass Model class to unmarshal JSON body content.
-    * @param fieldNamingPolicy FieldNamingPolicy for unmarshaling JSON.
-    * @param errorTimeOut Number of milliseconds to re-send erroring requests.
-    * @param maxRetries Number of times allowed to re-send erroring requests.
-    */
-   public GaePendingResult(
-       HTTPRequest request,
-       URLFetchService client,
-       Class<R> responseClass,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeOut,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     this.request = request;
-     this.client = client;
-     this.responseClass = responseClass;
-     this.fieldNamingPolicy = fieldNamingPolicy;
-     this.errorTimeOut = errorTimeOut;
-     this.maxRetries = maxRetries;
-     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
-     this.metrics = metrics;
- 
-     metrics.startNetwork();
-     this.call = client.fetchAsync(request);
-   }
- 
-   @Override
-   public void setCallback(Callback<T> callback) {
-     throw new RuntimeException("setCallback not implemented for Google App Engine");
-   }
- 
-   @Override
-   public T await() throws ApiException, IOException, InterruptedException {
-     try {
-       HTTPResponse result = call.get();
-       metrics.endNetwork();
-       return parseResponse(this, result);
-     } catch (ExecutionException e) {
-       if (e.getCause() instanceof IOException) {
-         throw (IOException) e.getCause();
-       } else {
-         // According to
-         // https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/urlfetch/URLFetchService
-         // all exceptions should be subclass of IOException so this should not happen.
-         throw new UnknownErrorException("Unexpected exception from " + e.getMessage());
-       }
-     }
-   }
- 
-   @Override
-   public T awaitIgnoreError() {
-     try {
-       return await();
-     } catch (Exception e) {
-       return null;
-     }
-   }
- 
-   @Override
-   public void cancel() {
-     call.cancel(true);
-   }
- 
-   @SuppressWarnings("unchecked")
-   private T parseResponse(GaePendingResult<T, R> request, HTTPResponse response)
-       throws IOException, ApiException, InterruptedException {
-     try {
-       T result = parseResponseInternal(request, response);
-       metrics.endRequest(null, response.getResponseCode(), retryCounter);
-       return result;
-     } catch (Exception e) {
-       metrics.endRequest(e, response.getResponseCode(), retryCounter);
-       throw e;
-     }
-   }
- 
-   @SuppressWarnings("unchecked")
-   private T parseResponseInternal(GaePendingResult<T, R> request, HTTPResponse response)
-       throws IOException, ApiException, InterruptedException {
-     if (shouldRetry(response)) {
-       // Retry is a blocking method, but that's OK. If we're here, we're either in an await()
-       // call, which is blocking anyway, or we're handling a callback in a separate thread.
-       return request.retry();
-     }
- 
-     byte[] bytes = response.getContent();
-     R resp;
- 
-     String contentType = null;
-     for (HTTPHeader header : response.getHeaders()) {
-       if (header.getName().equalsIgnoreCase("Content-Type")) {
-         contentType = header.getValue();
-       }
-     }
- 
-     if (contentType != null
-         && contentType.startsWith("image")
-         && responseClass == ImageResult.Response.class
-         && response.getResponseCode() == 200) {
-       ImageResult result = new ImageResult(contentType, bytes);
-       return (T) result;
-     }
- 
-     Gson gson =
-         new GsonBuilder()
-             .registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeAdapter())
-             .registerTypeAdapter(Distance.class, new DistanceAdapter())
-             .registerTypeAdapter(Duration.class, new DurationAdapter())
-             .registerTypeAdapter(Fare.class, new FareAdapter())
-             .registerTypeAdapter(LatLng.class, new LatLngAdapter())
-             .registerTypeAdapter(
-                 AddressComponentType.class, new SafeEnumAdapter<>(AddressComponentType.UNKNOWN))
-             .registerTypeAdapter(AddressType.class, new SafeEnumAdapter<>(AddressType.UNKNOWN))
-             .registerTypeAdapter(TravelMode.class, new SafeEnumAdapter<>(TravelMode.UNKNOWN))
-             .registerTypeAdapter(LocationType.class, new SafeEnumAdapter<>(LocationType.UNKNOWN))
-             .registerTypeAdapter(RatingType.class, new SafeEnumAdapter<>(RatingType.UNKNOWN))
-             .registerTypeAdapter(VehicleType.class, new SafeEnumAdapter<>(VehicleType.OTHER))
-             .registerTypeAdapter(DayOfWeek.class, new DayOfWeekAdapter())
-             .registerTypeAdapter(PriceLevel.class, new PriceLevelAdapter())
-             .registerTypeAdapter(Instant.class, new InstantAdapter())
-             .registerTypeAdapter(LocalTime.class, new LocalTimeAdapter())
-             .registerTypeAdapter(GeolocationApi.Response.class, new GeolocationResponseAdapter())
-             .registerTypeAdapter(EncodedPolyline.class, new EncodedPolylineInstanceCreator(""))
-             .setFieldNamingPolicy(fieldNamingPolicy)
-             .create();
- 
-     // Attempt to de-serialize before checking the HTTP status code, as there may be JSON in the
-     // body that we can use to provide a more descriptive exception.
-     try {
-       resp = gson.fromJson(new String(bytes, "utf8"), responseClass);
-     } catch (JsonSyntaxException e) {
-       // Check HTTP status for a more suitable exception
-       if (response.getResponseCode() > 399) {
-         // Some of the APIs return 200 even when the API request fails, as long as the transport
-         // mechanism succeeds. In these cases, INVALID_RESPONSE, etc are handled by the Gson
-         // parsing.
-         throw new IOException(
-             String.format(
-                 "Server Error: %d %s",
-                 response.getResponseCode(),
-                 new String(response.getContent(), Charset.defaultCharset())));
-       }
- 
-       // Otherwise just cough up the syntax exception.
-       throw e;
-     }
- 
-     if (resp.successful()) {
-       // Return successful responses
-       return resp.getResult();
-     } else {
-       ApiException e = resp.getError();
-       if (shouldRetry(e)) {
-         // Retry over_query_limit errors
-         return request.retry();
-       } else {
-         // Throw anything else, including OQLs if we've spent too much time retrying
-         throw e;
-       }
-     }
-   }
- 
-   private T retry() throws IOException, ApiException, InterruptedException {
-     retryCounter++;
-     LOG.info("Retrying request. Retry #{}", retryCounter);
-     metrics.startNetwork();
-     this.call = client.fetchAsync(request);
-     return this.await();
-   }
- 
-   private boolean shouldRetry(HTTPResponse response) {
-     return RETRY_ERROR_CODES.contains(response.getResponseCode())
-         && cumulativeSleepTime < errorTimeOut
-         && (maxRetries == null || retryCounter < maxRetries);
-   }
- 
-   private boolean shouldRetry(ApiException exception) {
-     return exceptionsAllowedToRetry.contains(exception.getClass())
-         && cumulativeSleepTime < errorTimeOut
-         && (maxRetries == null || retryCounter < maxRetries);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-9.html b/CodeCoverageReport/ns-4/sources/source-9.html deleted file mode 100644 index 10e045cd4..000000000 --- a/CodeCoverageReport/ns-4/sources/source-9.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - Coverage Report > GeolocationResponseAdapter - - - - - - -
- - -

Coverage Summary for Class: GeolocationResponseAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GeolocationResponseAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 73.5% - - - (25/34) - - - - 83% - - - (39/47) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.GeolocationApi;
- import java.io.IOException;
- 
- public class GeolocationResponseAdapter extends TypeAdapter<GeolocationApi.Response> {
-   /**
-    * Reads in a JSON object to create a Geolocation Response. See:
-    * https://developers.google.com/maps/documentation/geolocation/intro#responses
-    *
-    * <p>Success Case:
-    *
-    * <pre>
-    *   {
-    *     "location": {
-    *       "lat": 51.0,
-    *       "lng": -0.1
-    *     },
-    *     "accuracy": 1200.4
-    *   }
-    * </pre>
-    *
-    * Error Case: The response contains an object with a single error object with the following keys:
-    *
-    * <p>code: This is the same as the HTTP status of the response. {@code message}: A short
-    * description of the error. {@code errors}: A list of errors which occurred. Each error contains
-    * an identifier for the type of error (the reason) and a short description (the message). For
-    * example, sending invalid JSON will return the following error:
-    *
-    * <pre>
-    *   {
-    *     "error": {
-    *       "errors": [ {
-    *           "domain": "geolocation",
-    *           "reason": "notFound",
-    *           "message": "Not Found",
-    *           "debugInfo": "status: ZERO_RESULTS\ncom.google.api.server.core.Fault: Immu...
-    *       }],
-    *       "code": 404,
-    *       "message": "Not Found"
-    *     }
-    *   }
-    * </pre>
-    */
-   @Override
-   public GeolocationApi.Response read(JsonReader reader) throws IOException {
- 
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
-     GeolocationApi.Response response = new GeolocationApi.Response();
-     LatLngAdapter latLngAdapter = new LatLngAdapter();
- 
-     reader.beginObject(); // opening {
-     while (reader.hasNext()) {
-       String name = reader.nextName();
-       // two different objects could be returned a success object containing "location" and
-       // "accuracy" keys or an error object containing an "error" key
-       if (name.equals("location")) {
-         // we already have a parser for the LatLng object so lets use that
-         response.location = latLngAdapter.read(reader);
-       } else if (name.equals("accuracy")) {
-         response.accuracy = reader.nextDouble();
-       } else if (name.equals("error")) {
-         reader.beginObject(); // the error key leads to another object...
-         while (reader.hasNext()) {
-           String errName = reader.nextName();
-           // ...with keys "errors", "code" and "message"
-           if (errName.equals("code")) {
-             response.code = reader.nextInt();
-           } else if (errName.equals("message")) {
-             response.message = reader.nextString();
-           } else if (errName.equals("errors")) {
-             reader.beginArray(); // its plural because its an array of errors...
-             while (reader.hasNext()) {
-               reader.beginObject(); // ...and each error array element is an object...
-               while (reader.hasNext()) {
-                 errName = reader.nextName();
-                 // ...with keys "reason", "domain", "debugInfo", "location", "locationType",  and
-                 // "message" (again)
-                 if (errName.equals("reason")) {
-                   response.reason = reader.nextString();
-                 } else if (errName.equals("domain")) {
-                   response.domain = reader.nextString();
-                 } else if (errName.equals("debugInfo")) {
-                   response.debugInfo = reader.nextString();
-                 } else if (errName.equals("message")) {
-                   // have this already
-                   reader.nextString();
-                 } else if (errName.equals("location")) {
-                   reader.nextString();
-                 } else if (errName.equals("locationType")) {
-                   reader.nextString();
-                 }
-               }
-               reader.endObject();
-             }
-             reader.endArray();
-           }
-         }
-         reader.endObject(); // closing }
-       }
-     }
-     reader.endObject();
-     return response;
-   }
- 
-   /** Not supported. */
-   @Override
-   public void write(JsonWriter out, GeolocationApi.Response value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method.");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-a.html b/CodeCoverageReport/ns-4/sources/source-a.html deleted file mode 100644 index e74fb6b67..000000000 --- a/CodeCoverageReport/ns-4/sources/source-a.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - Coverage Report > HttpHeaders - - - - - - -
- - -

Coverage Summary for Class: HttpHeaders (com.google.maps.internal)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
HttpHeaders - - 0% - - - (0/1) - - - - 0% - - - (0/1) - - - - 0% - - - (0/1) - -
- -
-
- - -
- /*
-  * Copyright 2020 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- /** Contains HTTP header name constants. */
- public final class HttpHeaders {
- 
-   /** The HTTP {@code User-Agent} header field name. */
-   public static final String USER_AGENT = "User-Agent";
- 
-   /** The HTTP {@code X-Goog-Maps-Experience-ID} header field name. */
-   public static final String X_GOOG_MAPS_EXPERIENCE_ID = "X-Goog-Maps-Experience-ID";
- 
-   /** The HTTP {@code X-Android-Package} header field name. */
-   public static final String X_ANDROID_PACKAGE = "X-Android-Package";
- 
-   /** The HTTP {@code X-Android-Cert} header field name. */
-   public static final String X_ANDROID_CERT = "X-Android-Cert";
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-b.html b/CodeCoverageReport/ns-4/sources/source-b.html deleted file mode 100644 index d5a9ce31f..000000000 --- a/CodeCoverageReport/ns-4/sources/source-b.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - Coverage Report > InstantAdapter - - - - - - -
- - -

Coverage Summary for Class: InstantAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
InstantAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 50% - - - (4/8) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import java.io.IOException;
- import java.time.Instant;
- 
- /** This class handles conversion from JSON to {@link Instant}. */
- public class InstantAdapter extends TypeAdapter<Instant> {
- 
-   /** Read a time from the Places API and convert to a {@link Instant} */
-   @Override
-   public Instant read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     if (reader.peek() == JsonToken.NUMBER) {
-       // Number is the number of seconds since Epoch.
-       return Instant.ofEpochMilli(reader.nextLong() * 1000L);
-     }
- 
-     throw new UnsupportedOperationException("Unsupported format");
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter out, Instant value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-c.html b/CodeCoverageReport/ns-4/sources/source-c.html deleted file mode 100644 index 0ca373884..000000000 --- a/CodeCoverageReport/ns-4/sources/source-c.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - Coverage Report > LatLngAdapter - - - - - - -
- - -

Coverage Summary for Class: LatLngAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
LatLngAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 75% - - - (12/16) - - - - 82.6% - - - (19/23) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import com.google.maps.model.LatLng;
- import java.io.IOException;
- 
- /** Handle conversion from varying types of latitude and longitude representations. */
- public class LatLngAdapter extends TypeAdapter<LatLng> {
-   /**
-    * Reads in a JSON object and try to create a LatLng in one of the following formats.
-    *
-    * <pre>{
-    *   "lat" : -33.8353684,
-    *   "lng" : 140.8527069
-    * }
-    *
-    * {
-    *   "latitude": -33.865257570508334,
-    *   "longitude": 151.19287000481452
-    * }</pre>
-    */
-   @Override
-   public LatLng read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     double lat = 0;
-     double lng = 0;
-     boolean hasLat = false;
-     boolean hasLng = false;
- 
-     reader.beginObject();
-     while (reader.hasNext()) {
-       String name = reader.nextName();
-       if ("lat".equals(name) || "latitude".equals(name)) {
-         lat = reader.nextDouble();
-         hasLat = true;
-       } else if ("lng".equals(name) || "longitude".equals(name)) {
-         lng = reader.nextDouble();
-         hasLng = true;
-       }
-     }
-     reader.endObject();
- 
-     if (hasLat && hasLng) {
-       return new LatLng(lat, lng);
-     } else {
-       return null;
-     }
-   }
- 
-   /** Not supported. */
-   @Override
-   public void write(JsonWriter out, LatLng value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method.");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-d.html b/CodeCoverageReport/ns-4/sources/source-d.html deleted file mode 100644 index a23b4371d..000000000 --- a/CodeCoverageReport/ns-4/sources/source-d.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - Coverage Report > LocalTimeAdapter - - - - - - -
- - -

Coverage Summary for Class: LocalTimeAdapter (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
LocalTimeAdapter - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 50% - - - (2/4) - - - - 55.6% - - - (5/9) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.TypeAdapter;
- import com.google.gson.stream.JsonReader;
- import com.google.gson.stream.JsonToken;
- import com.google.gson.stream.JsonWriter;
- import java.io.IOException;
- import java.time.LocalTime;
- import java.time.format.DateTimeFormatter;
- 
- /** This class handles conversion from JSON to {@link LocalTime}. */
- public class LocalTimeAdapter extends TypeAdapter<LocalTime> {
-   /** Read a time from the Places API and convert to a {@link LocalTime} */
-   @Override
-   public LocalTime read(JsonReader reader) throws IOException {
-     if (reader.peek() == JsonToken.NULL) {
-       reader.nextNull();
-       return null;
-     }
- 
-     if (reader.peek() == JsonToken.STRING) {
-       DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HHmm");
-       return LocalTime.parse(reader.nextString(), dtf);
-     }
- 
-     throw new UnsupportedOperationException("Unsupported format");
-   }
- 
-   /** This method is not implemented. */
-   @Override
-   public void write(JsonWriter out, LocalTime value) throws IOException {
-     throw new UnsupportedOperationException("Unimplemented method");
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-e.html b/CodeCoverageReport/ns-4/sources/source-e.html deleted file mode 100644 index 088e7c4cd..000000000 --- a/CodeCoverageReport/ns-4/sources/source-e.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - - Coverage Report > OkHttpPendingResult - - - - - - -
- - -

Coverage Summary for Class: OkHttpPendingResult (com.google.maps.internal)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
OkHttpPendingResult - - 85.7% - - - (12/14) - - - - 59.1% - - - (26/44) - - - - 86.8% - - - (99/114) - -
OkHttpPendingResult$1 - - 66.7% - - - (2/3) - - - - 57.1% - - - (4/7) - -
OkHttpPendingResult$QueuedResponse - - 66.7% - - - (2/3) - - - - 54.5% - - - (6/11) - -
Total - - 80% - - - (16/20) - - - - 59.1% - - - (26/44) - - - - 82.6% - - - (109/132) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.gson.FieldNamingPolicy;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import com.google.gson.JsonSyntaxException;
- import com.google.maps.GeolocationApi;
- import com.google.maps.ImageResult;
- import com.google.maps.PendingResult;
- import com.google.maps.errors.ApiException;
- import com.google.maps.metrics.RequestMetrics;
- import com.google.maps.model.AddressComponentType;
- import com.google.maps.model.AddressType;
- import com.google.maps.model.Distance;
- import com.google.maps.model.Duration;
- import com.google.maps.model.Fare;
- import com.google.maps.model.LatLng;
- import com.google.maps.model.LocationType;
- import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek;
- import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType;
- import com.google.maps.model.PriceLevel;
- import com.google.maps.model.TravelMode;
- import com.google.maps.model.VehicleType;
- import java.io.IOException;
- import java.time.Instant;
- import java.time.LocalTime;
- import java.time.ZonedDateTime;
- import java.util.Arrays;
- import java.util.List;
- import java.util.concurrent.ArrayBlockingQueue;
- import java.util.concurrent.BlockingQueue;
- import okhttp3.Call;
- import okhttp3.Callback;
- import okhttp3.OkHttpClient;
- import okhttp3.Request;
- import okhttp3.Response;
- import okhttp3.ResponseBody;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- 
- /**
-  * A PendingResult backed by a HTTP call executed by OkHttp, a deserialization step using Gson, rate
-  * limiting and a retry policy.
-  *
-  * <p>{@code T} is the type of the result of this pending result, and {@code R} is the type of the
-  * request.
-  */
- public class OkHttpPendingResult<T, R extends ApiResponse<T>>
-     implements PendingResult<T>, Callback {
-   private final Request request;
-   private final OkHttpClient client;
-   private final Class<R> responseClass;
-   private final FieldNamingPolicy fieldNamingPolicy;
-   private final Integer maxRetries;
-   private final RequestMetrics metrics;
- 
-   private Call call;
-   private Callback<T> callback;
-   private long errorTimeOut;
-   private int retryCounter = 0;
-   private long cumulativeSleepTime = 0;
-   private ExceptionsAllowedToRetry exceptionsAllowedToRetry;
- 
-   private static final Logger LOG = LoggerFactory.getLogger(OkHttpPendingResult.class.getName());
-   private static final List<Integer> RETRY_ERROR_CODES = Arrays.asList(500, 503, 504);
- 
-   /**
-    * @param request HTTP request to execute.
-    * @param client The client used to execute the request.
-    * @param responseClass Model class to unmarshal JSON body content.
-    * @param fieldNamingPolicy FieldNamingPolicy for unmarshaling JSON.
-    * @param errorTimeOut Number of milliseconds to re-send erroring requests.
-    * @param maxRetries Number of times allowed to re-send erroring requests.
-    * @param exceptionsAllowedToRetry The exceptions to retry.
-    */
-   public OkHttpPendingResult(
-       Request request,
-       OkHttpClient client,
-       Class<R> responseClass,
-       FieldNamingPolicy fieldNamingPolicy,
-       long errorTimeOut,
-       Integer maxRetries,
-       ExceptionsAllowedToRetry exceptionsAllowedToRetry,
-       RequestMetrics metrics) {
-     this.request = request;
-     this.client = client;
-     this.responseClass = responseClass;
-     this.fieldNamingPolicy = fieldNamingPolicy;
-     this.errorTimeOut = errorTimeOut;
-     this.maxRetries = maxRetries;
-     this.exceptionsAllowedToRetry = exceptionsAllowedToRetry;
-     this.metrics = metrics;
- 
-     metrics.startNetwork();
-     this.call = client.newCall(request);
-   }
- 
-   @Override
-   public void setCallback(Callback<T> callback) {
-     this.callback = callback;
-     call.enqueue(this);
-   }
- 
-   /** Preserve a request/response pair through an asynchronous callback. */
-   private class QueuedResponse {
-     private final OkHttpPendingResult<T, R> request;
-     private final Response response;
-     private final IOException e;
- 
-     public QueuedResponse(OkHttpPendingResult<T, R> request, Response response) {
-       this.request = request;
-       this.response = response;
-       this.e = null;
-     }
- 
-     public QueuedResponse(OkHttpPendingResult<T, R> request, IOException e) {
-       this.request = request;
-       this.response = null;
-       this.e = e;
-     }
-   }
- 
-   @Override
-   public T await() throws ApiException, IOException, InterruptedException {
-     // Handle sleeping for retried requests
-     if (retryCounter > 0) {
-       // 0.5 * (1.5 ^ i) represents an increased sleep time of 1.5x per iteration,
-       // starting at 0.5s when i = 0. The retryCounter will be 1 for the 1st retry,
-       // so subtract 1 here.
-       double delaySecs = 0.5 * Math.pow(1.5, retryCounter - 1);
- 
-       // Generate a jitter value between -delaySecs / 2 and +delaySecs / 2
-       long delayMillis = (long) (delaySecs * (Math.random() + 0.5) * 1000);
- 
-       LOG.debug(
-           String.format(
-               "Sleeping between errors for %dms (retry #%d, already slept %dms)",
-               delayMillis, retryCounter, cumulativeSleepTime));
-       cumulativeSleepTime += delayMillis;
-       try {
-         Thread.sleep(delayMillis);
-       } catch (InterruptedException e) {
-         // No big deal if we don't sleep as long as intended.
-       }
-     }
- 
-     final BlockingQueue<QueuedResponse> waiter = new ArrayBlockingQueue<>(1);
-     final OkHttpPendingResult<T, R> parent = this;
- 
-     // This callback will be called on another thread, handled by the RateLimitExecutorService.
-     // Calling call.execute() directly would bypass the rate limiting.
-     call.enqueue(
-         new okhttp3.Callback() {
-           @Override
-           public void onFailure(Call call, IOException e) {
-             metrics.endNetwork();
-             waiter.add(new QueuedResponse(parent, e));
-           }
- 
-           @Override
-           public void onResponse(Call call, Response response) throws IOException {
-             metrics.endNetwork();
-             waiter.add(new QueuedResponse(parent, response));
-           }
-         });
- 
-     QueuedResponse r = waiter.take();
-     if (r.response != null) {
-       return parseResponse(r.request, r.response);
-     } else {
-       metrics.endRequest(r.e, 0, retryCounter);
-       throw r.e;
-     }
-   }
- 
-   @Override
-   public T awaitIgnoreError() {
-     try {
-       return await();
-     } catch (Exception e) {
-       return null;
-     }
-   }
- 
-   @Override
-   public void cancel() {
-     call.cancel();
-   }
- 
-   @Override
-   public void onFailure(Call call, IOException ioe) {
-     metrics.endNetwork();
-     if (callback != null) {
-       metrics.endRequest(ioe, 0, retryCounter);
-       callback.onFailure(ioe);
-     }
-   }
- 
-   @Override
-   public void onResponse(Call call, Response response) throws IOException {
-     metrics.endNetwork();
-     if (callback != null) {
-       try {
-         callback.onResult(parseResponse(this, response));
-       } catch (Exception e) {
-         callback.onFailure(e);
-       }
-     }
-   }
- 
-   @SuppressWarnings("unchecked")
-   private T parseResponse(OkHttpPendingResult<T, R> request, Response response)
-       throws ApiException, InterruptedException, IOException {
-     try {
-       T result = parseResponseInternal(request, response);
-       metrics.endRequest(null, response.code(), retryCounter);
-       return result;
-     } catch (Exception e) {
-       metrics.endRequest(e, response.code(), retryCounter);
-       throw e;
-     }
-   }
- 
-   @SuppressWarnings("unchecked")
-   private T parseResponseInternal(OkHttpPendingResult<T, R> request, Response response)
-       throws ApiException, InterruptedException, IOException {
-     if (shouldRetry(response)) {
-       // since we are retrying the request we must close the response
-       response.close();
- 
-       // Retry is a blocking method, but that's OK. If we're here, we're either in an await()
-       // call, which is blocking anyway, or we're handling a callback in a separate thread.
-       return request.retry();
-     }
- 
-     byte[] bytes;
-     try (ResponseBody body = response.body()) {
-       bytes = body.bytes();
-     }
-     R resp;
-     String contentType = response.header("Content-Type");
- 
-     if (contentType != null
-         && contentType.startsWith("image")
-         && responseClass == ImageResult.Response.class
-         && response.code() == 200) {
-       ImageResult result = new ImageResult(contentType, bytes);
-       return (T) result;
-     }
- 
-     Gson gson =
-         new GsonBuilder()
-             .registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeAdapter())
-             .registerTypeAdapter(Distance.class, new DistanceAdapter())
-             .registerTypeAdapter(Duration.class, new DurationAdapter())
-             .registerTypeAdapter(Fare.class, new FareAdapter())
-             .registerTypeAdapter(LatLng.class, new LatLngAdapter())
-             .registerTypeAdapter(
-                 AddressComponentType.class,
-                 new SafeEnumAdapter<AddressComponentType>(AddressComponentType.UNKNOWN))
-             .registerTypeAdapter(
-                 AddressType.class, new SafeEnumAdapter<AddressType>(AddressType.UNKNOWN))
-             .registerTypeAdapter(
-                 TravelMode.class, new SafeEnumAdapter<TravelMode>(TravelMode.UNKNOWN))
-             .registerTypeAdapter(
-                 LocationType.class, new SafeEnumAdapter<LocationType>(LocationType.UNKNOWN))
-             .registerTypeAdapter(
-                 RatingType.class, new SafeEnumAdapter<RatingType>(RatingType.UNKNOWN))
-             .registerTypeAdapter(
-                 VehicleType.class, new SafeEnumAdapter<VehicleType>(VehicleType.OTHER))
-             .registerTypeAdapter(DayOfWeek.class, new DayOfWeekAdapter())
-             .registerTypeAdapter(PriceLevel.class, new PriceLevelAdapter())
-             .registerTypeAdapter(Instant.class, new InstantAdapter())
-             .registerTypeAdapter(LocalTime.class, new LocalTimeAdapter())
-             .registerTypeAdapter(GeolocationApi.Response.class, new GeolocationResponseAdapter())
-             .setFieldNamingPolicy(fieldNamingPolicy)
-             .create();
- 
-     // Attempt to de-serialize before checking the HTTP status code, as there may be JSON in the
-     // body that we can use to provide a more descriptive exception.
-     try {
-       resp = gson.fromJson(new String(bytes, "utf8"), responseClass);
-     } catch (JsonSyntaxException e) {
-       // Check HTTP status for a more suitable exception
-       if (!response.isSuccessful()) {
-         // Some of the APIs return 200 even when the API request fails, as long as the transport
-         // mechanism succeeds. In these cases, INVALID_RESPONSE, etc are handled by the Gson
-         // parsing.
-         throw new IOException(
-             String.format("Server Error: %d %s", response.code(), response.message()));
-       }
- 
-       // Otherwise just cough up the syntax exception.
-       throw e;
-     }
- 
-     if (resp.successful()) {
-       // Return successful responses
-       return resp.getResult();
-     } else {
-       ApiException e = resp.getError();
-       if (shouldRetry(e)) {
-         return request.retry();
-       } else {
-         throw e;
-       }
-     }
-   }
- 
-   private T retry() throws ApiException, InterruptedException, IOException {
-     retryCounter++;
-     LOG.info("Retrying request. Retry #" + retryCounter);
-     metrics.startNetwork();
-     this.call = client.newCall(request);
-     return this.await();
-   }
- 
-   private boolean shouldRetry(Response response) {
-     return RETRY_ERROR_CODES.contains(response.code())
-         && cumulativeSleepTime < errorTimeOut
-         && (maxRetries == null || retryCounter < maxRetries);
-   }
- 
-   private boolean shouldRetry(ApiException exception) {
-     return exceptionsAllowedToRetry.contains(exception.getClass())
-         && cumulativeSleepTime < errorTimeOut
-         && (maxRetries == null || retryCounter < maxRetries);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-4/sources/source-f.html b/CodeCoverageReport/ns-4/sources/source-f.html deleted file mode 100644 index a6d3a693e..000000000 --- a/CodeCoverageReport/ns-4/sources/source-f.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - Coverage Report > PolylineEncoding - - - - - - -
- - -

Coverage Summary for Class: PolylineEncoding (com.google.maps.internal)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PolylineEncoding - - 100% - - - (1/1) - - - - 80% - - - (4/5) - - - - 100% - - - (16/16) - - - - 97.8% - - - (44/45) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal;
- 
- import com.google.maps.model.LatLng;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- 
- /**
-  * Utility class that encodes and decodes Polylines.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/utilities/polylinealgorithm">
-  * https://developers.google.com/maps/documentation/utilities/polylinealgorithm</a> for detailed
-  * description of this format.
-  */
- public class PolylineEncoding {
-   /** Decodes an encoded path string into a sequence of LatLngs. */
-   public static List<LatLng> decode(final String encodedPath) {
- 
-     int len = encodedPath.length();
- 
-     final List<LatLng> path = new ArrayList<>(len / 2);
-     int index = 0;
-     int lat = 0;
-     int lng = 0;
- 
-     while (index < len) {
-       int result = 1;
-       int shift = 0;
-       int b;
-       do {
-         b = encodedPath.charAt(index++) - 63 - 1;
-         result += b << shift;
-         shift += 5;
-       } while (b >= 0x1f);
-       lat += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
- 
-       result = 1;
-       shift = 0;
-       do {
-         b = encodedPath.charAt(index++) - 63 - 1;
-         result += b << shift;
-         shift += 5;
-       } while (b >= 0x1f);
-       lng += (result & 1) != 0 ? ~(result >> 1) : (result >> 1);
- 
-       path.add(new LatLng(lat * 1e-5, lng * 1e-5));
-     }
- 
-     return path;
-   }
- 
-   /** Encodes a sequence of LatLngs into an encoded path string. */
-   public static String encode(final List<LatLng> path) {
-     long lastLat = 0;
-     long lastLng = 0;
- 
-     final StringBuilder result = new StringBuilder();
- 
-     for (final LatLng point : path) {
-       long lat = Math.round(point.lat * 1e5);
-       long lng = Math.round(point.lng * 1e5);
- 
-       long dLat = lat - lastLat;
-       long dLng = lng - lastLng;
- 
-       encode(dLat, result);
-       encode(dLng, result);
- 
-       lastLat = lat;
-       lastLng = lng;
-     }
-     return result.toString();
-   }
- 
-   private static void encode(long v, StringBuilder result) {
-     v = v < 0 ? ~(v << 1) : v << 1;
-     while (v >= 0x20) {
-       result.append(Character.toChars((int) ((0x20 | (v & 0x1f)) + 63)));
-       v >>= 5;
-     }
-     result.append(Character.toChars((int) (v + 63)));
-   }
- 
-   /** Encodes an array of LatLngs into an encoded path string. */
-   public static String encode(LatLng[] path) {
-     return encode(Arrays.asList(path));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/index.html b/CodeCoverageReport/ns-5/index.html deleted file mode 100644 index 8498bbe0d..000000000 --- a/CodeCoverageReport/ns-5/index.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html deleted file mode 100644 index c89a6f209..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 0343a9020..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html deleted file mode 100644 index 00ff5dbe1..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index 80be8f342..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html deleted file mode 100644 index dc97d2daa..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_LINE.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index f911252f6..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html deleted file mode 100644 index db08a6300..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index 813580ad9..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index 009a2b99b..000000000 --- a/CodeCoverageReport/ns-5/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - Coverage Report > com.google.maps.internal.ratelimiter - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.internal.ratelimiter

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.internal.ratelimiter - - 84.6% - - - (11/13) - - - - 56.8% - - - (42/74) - - - - 30.9% - - - (25/81) - - - - 50.8% - - - (125/246) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
Ticker - - 100% - - - (2/2) - - - - 100% - - - (5/5) - - - - - 100% - - - (5/5) - -
Stopwatch - - 50% - - - (1/2) - - - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
SmoothRateLimiter - - 66.7% - - - (2/3) - - - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
RateLimiter - - 100% - - - (3/3) - - - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - - 33.3% - - - (1/3) - -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-1.html b/CodeCoverageReport/ns-5/sources/source-1.html deleted file mode 100644 index 552c001ce..000000000 --- a/CodeCoverageReport/ns-5/sources/source-1.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - Coverage Report > LongMath - - - - - - -
- - -

Coverage Summary for Class: LongMath (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
LongMath - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (3/6) - - - - 60% - - - (3/5) - -
- -
-
- - -
- /*
-  * Copyright (C) 2012 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- /**
-  * A class for arithmetic on values of type {@code long}.
-  *
-  * <p>This is a minimal port of Google Guava's com.google.common.math.LongMath, just sufficient to
-  * implement the ratelimiter classes.
-  */
- public final class LongMath {
-   private LongMath() {}
- 
-   /**
-    * Returns the sum of {@code a} and {@code b} unless it would overflow or underflow in which case
-    * {@code Long.MAX_VALUE} or {@code Long.MIN_VALUE} is returned, respectively.
-    */
-   /* Suppress warnings instead of "fixing" because this is code imported from Guava. */
-   @SuppressWarnings("ShortCircuitBoolean")
-   public static long saturatedAdd(long a, long b) {
-     long naiveSum = a + b;
-     if ((a ^ b) < 0 | (a ^ naiveSum) >= 0) {
-       // If a and b have different signs or a has the same sign as the result then there was no
-       // overflow, return.
-       return naiveSum;
-     }
-     // we did over/under flow, if the sign is negative we should return MAX otherwise MIN
-     return Long.MAX_VALUE + ((naiveSum >>> (Long.SIZE - 1)) ^ 1);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-2.html b/CodeCoverageReport/ns-5/sources/source-2.html deleted file mode 100644 index 1618903b5..000000000 --- a/CodeCoverageReport/ns-5/sources/source-2.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - Coverage Report > Platform - - - - - - -
- - -

Coverage Summary for Class: Platform (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Platform - - 100% - - - (1/1) - - - - 33.3% - - - (1/3) - - - - 33.3% - - - (1/3) - -
- -
-
- - -
- /*
-  * Copyright (C) 2009 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- import java.util.Locale;
- 
- /**
-  * Methods factored out so that they can be emulated differently in GWT.
-  *
-  * <p>This is a minimal port of Google Guava's com.google.common.base.Platform, sufficient to
-  * implement the ratelimiter classes.
-  *
-  * @author Jesse Wilson
-  */
- final class Platform {
-   private Platform() {}
- 
-   /** Calls {@link System#nanoTime()}. */
-   static long systemNanoTime() {
-     return System.nanoTime();
-   }
- 
-   static String formatCompact4Digits(double value) {
-     return String.format(Locale.ROOT, "%.4g", value);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-3.html b/CodeCoverageReport/ns-5/sources/source-3.html deleted file mode 100644 index 876ab531f..000000000 --- a/CodeCoverageReport/ns-5/sources/source-3.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - Coverage Report > Preconditions - - - - - - -
- - -

Coverage Summary for Class: Preconditions (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
Preconditions - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 16.7% - - - (3/18) - - - - 17.1% - - - (6/35) - -
- -
-
- - -
- /*
-  * Copyright (C) 2012 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- /**
-  * Static convenience methods that help a method or constructor check whether it was invoked
-  * correctly (that is, whether its <i>preconditions</i> were met).
-  *
-  * <p>This is a minimal port of Google Guava's com.google.common.base.Preconditions necessary to
-  * implement the ratelimiter classes.
-  */
- public final class Preconditions {
-   private Preconditions() {}
- 
-   /**
-    * Ensures the truth of an expression involving one or more parameters to the calling method.
-    *
-    * @param expression a boolean expression
-    * @param errorMessageTemplate a template for the exception message should the check fail. The
-    *     message is formed by replacing each {@code %s} placeholder in the template with an
-    *     argument. These are matched by position - the first {@code %s} gets {@code
-    *     errorMessageArgs[0]}, etc. Unmatched arguments will be appended to the formatted message in
-    *     square braces. Unmatched placeholders will be left as-is.
-    * @param errorMessageArgs the arguments to be substituted into the message template. Arguments
-    *     are converted to strings using {@link String#valueOf(Object)}.
-    * @throws IllegalArgumentException if {@code expression} is false
-    */
-   public static void checkArgument(
-       boolean expression, String errorMessageTemplate, Object... errorMessageArgs) {
-     if (!expression) {
-       throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs));
-     }
-   }
- 
-   /**
-    * Ensures that an object reference passed as a parameter to the calling method is not null.
-    *
-    * @param reference an object reference
-    * @return the non-null reference that was validated
-    * @throws NullPointerException if {@code reference} is null
-    */
-   public static <T> T checkNotNull(T reference) {
-     if (reference == null) {
-       throw new NullPointerException();
-     }
-     return reference;
-   }
- 
-   /**
-    * Ensures that an object reference passed as a parameter to the calling method is not null.
-    *
-    * @param reference an object reference
-    * @param errorMessage the exception message to use if the check fails; will be converted to a
-    *     string using {@link String#valueOf(Object)}
-    * @return the non-null reference that was validated
-    * @throws NullPointerException if {@code reference} is null
-    */
-   public static <T> T checkNotNull(T reference, Object errorMessage) {
-     if (reference == null) {
-       throw new NullPointerException(String.valueOf(errorMessage));
-     }
-     return reference;
-   }
- 
-   /**
-    * Ensures the truth of an expression involving the state of the calling instance, but not
-    * involving any parameters to the calling method.
-    *
-    * @param expression a boolean expression
-    * @param errorMessage the exception message to use if the check fails; will be converted to a
-    *     string using {@link String#valueOf(Object)}
-    * @throws IllegalStateException if {@code expression} is false
-    */
-   public static void checkState(boolean expression, Object errorMessage) {
-     if (!expression) {
-       throw new IllegalStateException(String.valueOf(errorMessage));
-     }
-   }
- 
-   /**
-    * Substitutes each {@code %s} in {@code template} with an argument. These are matched by
-    * position: the first {@code %s} gets {@code args[0]}, etc. If there are more arguments than
-    * placeholders, the unmatched arguments will be appended to the end of the formatted message in
-    * square braces.
-    *
-    * @param template a string containing 0 or more {@code %s} placeholders. null is treated as
-    *     "null".
-    * @param args the arguments to be substituted into the message template. Arguments are converted
-    *     to strings using {@link String#valueOf(Object)}. Arguments can be null.
-    */
-   static String format(String template, Object... args) {
-     template = String.valueOf(template); // null -> "null"
- 
-     args = args == null ? new Object[] {"(Object[])null"} : args;
- 
-     // start substituting the arguments into the '%s' placeholders
-     StringBuilder builder = new StringBuilder(template.length() + 16 * args.length);
-     int templateStart = 0;
-     int i = 0;
-     while (i < args.length) {
-       int placeholderStart = template.indexOf("%s", templateStart);
-       if (placeholderStart == -1) {
-         break;
-       }
-       builder.append(template, templateStart, placeholderStart);
-       builder.append(args[i++]);
-       templateStart = placeholderStart + 2;
-     }
-     builder.append(template, templateStart, template.length());
- 
-     // if we run out of placeholders, append the extra args in square braces
-     if (i < args.length) {
-       builder.append(" [");
-       builder.append(args[i++]);
-       while (i < args.length) {
-         builder.append(", ");
-         builder.append(args[i++]);
-       }
-       builder.append(']');
-     }
- 
-     return builder.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-4.html b/CodeCoverageReport/ns-5/sources/source-4.html deleted file mode 100644 index bd2bebf86..000000000 --- a/CodeCoverageReport/ns-5/sources/source-4.html +++ /dev/null @@ -1,627 +0,0 @@ - - - - - - - - Coverage Report > RateLimiter - - - - - - -
- - -

Coverage Summary for Class: RateLimiter (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
RateLimiter - - 57.1% - - - (12/21) - - - - 40% - - - (8/20) - - - - 58.6% - - - (41/70) - -
RateLimiter$SleepingStopwatch - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
RateLimiter$SleepingStopwatch$1 - - 100% - - - (3/3) - - - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
Total - - 65.4% - - - (17/26) - - - - 45.5% - - - (10/22) - - - - 62.8% - - - (49/78) - -
- -
-
- - -
- /*
-  * Copyright (C) 2012 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- import static com.google.maps.internal.ratelimiter.Preconditions.checkArgument;
- import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull;
- import static java.lang.Math.max;
- import static java.util.concurrent.TimeUnit.MICROSECONDS;
- import static java.util.concurrent.TimeUnit.NANOSECONDS;
- import static java.util.concurrent.TimeUnit.SECONDS;
- 
- import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothBursty;
- import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothWarmingUp;
- import java.util.Locale;
- import java.util.concurrent.TimeUnit;
- 
- /**
-  * A rate limiter. Conceptually, a rate limiter distributes permits at a configurable rate. Each
-  * {@link #acquire()} blocks if necessary until a permit is available, and then takes it. Once
-  * acquired, permits need not be released.
-  *
-  * <p>Rate limiters are often used to restrict the rate at which some physical or logical resource
-  * is accessed. This is in contrast to {@link java.util.concurrent.Semaphore} which restricts the
-  * number of concurrent accesses instead of the rate (note though that concurrency and rate are
-  * closely related, e.g. see <a href="http://en.wikipedia.org/wiki/Little%27s_law">Little's
-  * Law</a>).
-  *
-  * <p>A {@code RateLimiter} is defined primarily by the rate at which permits are issued. Absent
-  * additional configuration, permits will be distributed at a fixed rate, defined in terms of
-  * permits per second. Permits will be distributed smoothly, with the delay between individual
-  * permits being adjusted to ensure that the configured rate is maintained.
-  *
-  * <p>It is possible to configure a {@code RateLimiter} to have a warmup period during which time
-  * the permits issued each second steadily increases until it hits the stable rate.
-  *
-  * <p>As an example, imagine that we have a list of tasks to execute, but we don't want to submit
-  * more than 2 per second:
-  *
-  * <pre>{@code
-  * final RateLimiter rateLimiter = RateLimiter.create(2.0); // rate is "2 permits per second"
-  * void submitTasks(List<Runnable> tasks, Executor executor) {
-  *   for (Runnable task : tasks) {
-  *     rateLimiter.acquire(); // may wait
-  *     executor.execute(task);
-  *   }
-  * }
-  * }</pre>
-  *
-  * <p>As another example, imagine that we produce a stream of data, and we want to cap it at 5kb per
-  * second. This could be accomplished by requiring a permit per byte, and specifying a rate of 5000
-  * permits per second:
-  *
-  * <pre>{@code
-  * final RateLimiter rateLimiter = RateLimiter.create(5000.0); // rate = 5000 permits per second
-  * void submitPacket(byte[] packet) {
-  *   rateLimiter.acquire(packet.length);
-  *   networkService.send(packet);
-  * }
-  * }</pre>
-  *
-  * <p>It is important to note that the number of permits requested <i>never</i> affects the
-  * throttling of the request itself (an invocation to {@code acquire(1)} and an invocation to {@code
-  * acquire(1000)} will result in exactly the same throttling, if any), but it affects the throttling
-  * of the <i>next</i> request. I.e., if an expensive task arrives at an idle RateLimiter, it will be
-  * granted immediately, but it is the <i>next</i> request that will experience extra throttling,
-  * thus paying for the cost of the expensive task.
-  *
-  * <p>Note: {@code RateLimiter} does not provide fairness guarantees.
-  *
-  * @author Dimitris Andreou
-  * @since 13.0
-  */
- public abstract class RateLimiter {
-   /**
-    * Creates a {@code RateLimiter} with the specified stable throughput, given as "permits per
-    * second" (commonly referred to as <i>QPS</i>, queries per second).
-    *
-    * <p>The returned {@code RateLimiter} ensures that on average no more than {@code
-    * permitsPerSecond} are issued during any given second, with sustained requests being smoothly
-    * spread over each second. When the incoming request rate exceeds {@code permitsPerSecond} the
-    * rate limiter will release one permit every {@code (1.0 / permitsPerSecond)} seconds. When the
-    * rate limiter is unused, bursts of up to {@code permitsPerSecond} permits will be allowed, with
-    * subsequent requests being smoothly limited at the stable rate of {@code permitsPerSecond}.
-    *
-    * @param permitsPerSecond the rate of the returned {@code RateLimiter}, measured in how many
-    *     permits become available per second
-    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero
-    */
-   public static RateLimiter create(double permitsPerSecond) {
-     /*
-      * The default RateLimiter configuration can save the unused permits of up to one second. This
-      * is to avoid unnecessary stalls in situations like this: A RateLimiter of 1qps, and 4 threads,
-      * all calling acquire() at these moments:
-      *
-      * T0 at 0 seconds
-      * T1 at 1.05 seconds
-      * T2 at 2 seconds
-      * T3 at 3 seconds
-      *
-      * Due to the slight delay of T1, T2 would have to sleep till 2.05 seconds, and T3 would also
-      * have to sleep till 3.05 seconds.
-      */
-     return create(permitsPerSecond, SleepingStopwatch.createFromSystemTimer());
-   }
- 
-   static RateLimiter create(double permitsPerSecond, SleepingStopwatch stopwatch) {
-     RateLimiter rateLimiter = new SmoothBursty(stopwatch, 1.0 /* maxBurstSeconds */);
-     rateLimiter.setRate(permitsPerSecond);
-     return rateLimiter;
-   }
- 
-   /**
-    * Creates a {@code RateLimiter} with the specified stable throughput, given as "permits per
-    * second" (commonly referred to as <i>QPS</i>, queries per second), and a <i>warmup period</i>,
-    * during which the {@code RateLimiter} smoothly ramps up its rate, until it reaches its maximum
-    * rate at the end of the period (as long as there are enough requests to saturate it). Similarly,
-    * if the {@code RateLimiter} is left <i>unused</i> for a duration of {@code warmupPeriod}, it
-    * will gradually return to its "cold" state, i.e. it will go through the same warming up process
-    * as when it was first created.
-    *
-    * <p>The returned {@code RateLimiter} is intended for cases where the resource that actually
-    * fulfills the requests (e.g., a remote server) needs "warmup" time, rather than being
-    * immediately accessed at the stable (maximum) rate.
-    *
-    * <p>The returned {@code RateLimiter} starts in a "cold" state (i.e. the warmup period will
-    * follow), and if it is left unused for long enough, it will return to that state.
-    *
-    * @param permitsPerSecond the rate of the returned {@code RateLimiter}, measured in how many
-    *     permits become available per second
-    * @param warmupPeriod the duration of the period where the {@code RateLimiter} ramps up its rate,
-    *     before reaching its stable (maximum) rate
-    * @param unit the time unit of the warmupPeriod argument
-    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero or {@code
-    *     warmupPeriod} is negative
-    */
-   public static RateLimiter create(double permitsPerSecond, long warmupPeriod, TimeUnit unit) {
-     checkArgument(warmupPeriod >= 0, "warmupPeriod must not be negative: %s", warmupPeriod);
-     return create(
-         permitsPerSecond, warmupPeriod, unit, 3.0, SleepingStopwatch.createFromSystemTimer());
-   }
- 
-   static RateLimiter create(
-       double permitsPerSecond,
-       long warmupPeriod,
-       TimeUnit unit,
-       double coldFactor,
-       SleepingStopwatch stopwatch) {
-     RateLimiter rateLimiter = new SmoothWarmingUp(stopwatch, warmupPeriod, unit, coldFactor);
-     rateLimiter.setRate(permitsPerSecond);
-     return rateLimiter;
-   }
- 
-   /**
-    * The underlying timer; used both to measure elapsed time and sleep as necessary. A separate
-    * object to facilitate testing.
-    */
-   private final SleepingStopwatch stopwatch;
- 
-   // Can't be initialized in the constructor because mocks don't call the constructor.
-   private volatile Object mutexDoNotUseDirectly;
- 
-   private Object mutex() {
-     Object mutex = mutexDoNotUseDirectly;
-     if (mutex == null) {
-       synchronized (this) {
-         mutex = mutexDoNotUseDirectly;
-         if (mutex == null) {
-           mutexDoNotUseDirectly = mutex = new Object();
-         }
-       }
-     }
-     return mutex;
-   }
- 
-   RateLimiter(SleepingStopwatch stopwatch) {
-     this.stopwatch = checkNotNull(stopwatch);
-   }
- 
-   /**
-    * Updates the stable rate of this {@code RateLimiter}, that is, the {@code permitsPerSecond}
-    * argument provided in the factory method that constructed the {@code RateLimiter}. Currently
-    * throttled threads will <b>not</b> be awakened as a result of this invocation, thus they do not
-    * observe the new rate; only subsequent requests will.
-    *
-    * <p>Note though that, since each request repays (by waiting, if necessary) the cost of the
-    * <i>previous</i> request, this means that the very next request after an invocation to {@code
-    * setRate} will not be affected by the new rate; it will pay the cost of the previous request,
-    * which is in terms of the previous rate.
-    *
-    * <p>The behavior of the {@code RateLimiter} is not modified in any other way, e.g. if the {@code
-    * RateLimiter} was configured with a warmup period of 20 seconds, it still has a warmup period of
-    * 20 seconds after this method invocation.
-    *
-    * @param permitsPerSecond the new stable rate of this {@code RateLimiter}
-    * @throws IllegalArgumentException if {@code permitsPerSecond} is negative or zero
-    */
-   public final void setRate(double permitsPerSecond) {
-     checkArgument(
-         permitsPerSecond > 0.0 && !Double.isNaN(permitsPerSecond), "rate must be positive");
-     synchronized (mutex()) {
-       doSetRate(permitsPerSecond, stopwatch.readMicros());
-     }
-   }
- 
-   abstract void doSetRate(double permitsPerSecond, long nowMicros);
- 
-   /**
-    * Returns the stable rate (as {@code permits per seconds}) with which this {@code RateLimiter} is
-    * configured with. The initial value of this is the same as the {@code permitsPerSecond} argument
-    * passed in the factory method that produced this {@code RateLimiter}, and it is only updated
-    * after invocations to {@linkplain #setRate}.
-    */
-   public final double getRate() {
-     synchronized (mutex()) {
-       return doGetRate();
-     }
-   }
- 
-   abstract double doGetRate();
- 
-   /**
-    * Acquires a single permit from this {@code RateLimiter}, blocking until the request can be
-    * granted. Tells the amount of time slept, if any.
-    *
-    * <p>This method is equivalent to {@code acquire(1)}.
-    *
-    * @return time spent sleeping to enforce rate, in seconds; 0.0 if not rate-limited
-    * @since 16.0 (present in 13.0 with {@code void} return type})
-    */
-   public double acquire() {
-     return acquire(1);
-   }
- 
-   /**
-    * Acquires the given number of permits from this {@code RateLimiter}, blocking until the request
-    * can be granted. Tells the amount of time slept, if any.
-    *
-    * @param permits the number of permits to acquire
-    * @return time spent sleeping to enforce rate, in seconds; 0.0 if not rate-limited
-    * @throws IllegalArgumentException if the requested number of permits is negative or zero
-    * @since 16.0 (present in 13.0 with {@code void} return type})
-    */
-   public double acquire(int permits) {
-     long microsToWait = reserve(permits);
-     stopwatch.sleepMicrosUninterruptibly(microsToWait);
-     return 1.0 * microsToWait / SECONDS.toMicros(1L);
-   }
- 
-   /**
-    * Reserves the given number of permits from this {@code RateLimiter} for future use, returning
-    * the number of microseconds until the reservation can be consumed.
-    *
-    * @return time in microseconds to wait until the resource can be acquired, never negative
-    */
-   final long reserve(int permits) {
-     checkPermits(permits);
-     synchronized (mutex()) {
-       return reserveAndGetWaitLength(permits, stopwatch.readMicros());
-     }
-   }
- 
-   /**
-    * Acquires a permit from this {@code RateLimiter} if it can be obtained without exceeding the
-    * specified {@code timeout}, or returns {@code false} immediately (without waiting) if the permit
-    * would not have been granted before the timeout expired.
-    *
-    * <p>This method is equivalent to {@code tryAcquire(1, timeout, unit)}.
-    *
-    * @param timeout the maximum time to wait for the permit. Negative values are treated as zero.
-    * @param unit the time unit of the timeout argument
-    * @return {@code true} if the permit was acquired, {@code false} otherwise
-    * @throws IllegalArgumentException if the requested number of permits is negative or zero
-    */
-   public boolean tryAcquire(long timeout, TimeUnit unit) {
-     return tryAcquire(1, timeout, unit);
-   }
- 
-   /**
-    * Acquires permits from this {@link RateLimiter} if it can be acquired immediately without delay.
-    *
-    * <p>This method is equivalent to {@code tryAcquire(permits, 0, anyUnit)}.
-    *
-    * @param permits the number of permits to acquire
-    * @return {@code true} if the permits were acquired, {@code false} otherwise
-    * @throws IllegalArgumentException if the requested number of permits is negative or zero
-    * @since 14.0
-    */
-   public boolean tryAcquire(int permits) {
-     return tryAcquire(permits, 0, MICROSECONDS);
-   }
- 
-   /**
-    * Acquires a permit from this {@link RateLimiter} if it can be acquired immediately without
-    * delay.
-    *
-    * <p>This method is equivalent to {@code tryAcquire(1)}.
-    *
-    * @return {@code true} if the permit was acquired, {@code false} otherwise
-    * @since 14.0
-    */
-   public boolean tryAcquire() {
-     return tryAcquire(1, 0, MICROSECONDS);
-   }
- 
-   /**
-    * Acquires the given number of permits from this {@code RateLimiter} if it can be obtained
-    * without exceeding the specified {@code timeout}, or returns {@code false} immediately (without
-    * waiting) if the permits would not have been granted before the timeout expired.
-    *
-    * @param permits the number of permits to acquire
-    * @param timeout the maximum time to wait for the permits. Negative values are treated as zero.
-    * @param unit the time unit of the timeout argument
-    * @return {@code true} if the permits were acquired, {@code false} otherwise
-    * @throws IllegalArgumentException if the requested number of permits is negative or zero
-    */
-   public boolean tryAcquire(int permits, long timeout, TimeUnit unit) {
-     long timeoutMicros = max(unit.toMicros(timeout), 0);
-     checkPermits(permits);
-     long microsToWait;
-     synchronized (mutex()) {
-       long nowMicros = stopwatch.readMicros();
-       if (!canAcquire(nowMicros, timeoutMicros)) {
-         return false;
-       } else {
-         microsToWait = reserveAndGetWaitLength(permits, nowMicros);
-       }
-     }
-     stopwatch.sleepMicrosUninterruptibly(microsToWait);
-     return true;
-   }
- 
-   private boolean canAcquire(long nowMicros, long timeoutMicros) {
-     return queryEarliestAvailable(nowMicros) - timeoutMicros <= nowMicros;
-   }
- 
-   /**
-    * Reserves next ticket and returns the wait time that the caller must wait for.
-    *
-    * @return the required wait time, never negative
-    */
-   final long reserveAndGetWaitLength(int permits, long nowMicros) {
-     long momentAvailable = reserveEarliestAvailable(permits, nowMicros);
-     return max(momentAvailable - nowMicros, 0);
-   }
- 
-   /**
-    * Returns the earliest time that permits are available (with one caveat).
-    *
-    * @return the time that permits are available, or, if permits are available immediately, an
-    *     arbitrary past or present time
-    */
-   abstract long queryEarliestAvailable(long nowMicros);
- 
-   /**
-    * Reserves the requested number of permits and returns the time that those permits can be used
-    * (with one caveat).
-    *
-    * @return the time that the permits may be used, or, if the permits may be used immediately, an
-    *     arbitrary past or present time
-    */
-   abstract long reserveEarliestAvailable(int permits, long nowMicros);
- 
-   @Override
-   public String toString() {
-     return String.format(Locale.ROOT, "RateLimiter[stableRate=%3.1fqps]", getRate());
-   }
- 
-   abstract static class SleepingStopwatch {
-     /** Constructor for use by subclasses. */
-     protected SleepingStopwatch() {}
- 
-     /*
-      * We always hold the mutex when calling this.
-      */
-     protected abstract long readMicros();
- 
-     protected abstract void sleepMicrosUninterruptibly(long micros);
- 
-     public static SleepingStopwatch createFromSystemTimer() {
-       return new SleepingStopwatch() {
-         final Stopwatch stopwatch = Stopwatch.createStarted();
- 
-         @Override
-         protected long readMicros() {
-           return stopwatch.elapsed(MICROSECONDS);
-         }
- 
-         @Override
-         protected void sleepMicrosUninterruptibly(long micros) {
-           if (micros > 0) {
-             sleepUninterruptibly(micros, MICROSECONDS);
-           }
-         }
-       };
-     }
-   }
- 
-   private static void checkPermits(int permits) {
-     checkArgument(permits > 0, "Requested permits (%s) must be positive", permits);
-   }
- 
-   /** Invokes {@code unit.}{@link TimeUnit#sleep(long) sleep(sleepFor)} uninterruptibly. */
-   private static void sleepUninterruptibly(long sleepFor, TimeUnit unit) {
-     boolean interrupted = false;
-     try {
-       long remainingNanos = unit.toNanos(sleepFor);
-       long end = System.nanoTime() + remainingNanos;
-       while (true) {
-         try {
-           // TimeUnit.sleep() treats negative timeouts just like zero.
-           NANOSECONDS.sleep(remainingNanos);
-           return;
-         } catch (InterruptedException e) {
-           interrupted = true;
-           remainingNanos = end - System.nanoTime();
-         }
-       }
-     } finally {
-       if (interrupted) {
-         Thread.currentThread().interrupt();
-       }
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-5.html b/CodeCoverageReport/ns-5/sources/source-5.html deleted file mode 100644 index 0d65328da..000000000 --- a/CodeCoverageReport/ns-5/sources/source-5.html +++ /dev/null @@ -1,589 +0,0 @@ - - - - - - - - Coverage Report > SmoothRateLimiter - - - - - - -
- - -

Coverage Summary for Class: SmoothRateLimiter (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
SmoothRateLimiter - - 71.4% - - - (5/7) - - - - 100% - - - (2/2) - - - - 92% - - - (23/25) - -
SmoothRateLimiter$1
SmoothRateLimiter$SmoothBursty - - 0% - - - (0/4) - - - - 0% - - - (0/4) - - - - 0% - - - (0/14) - -
SmoothRateLimiter$SmoothWarmingUp - - 100% - - - (5/5) - - - - 83.3% - - - (5/6) - - - - 96.6% - - - (28/29) - -
Total - - 62.5% - - - (10/16) - - - - 58.3% - - - (7/12) - - - - 75% - - - (51/68) - -
- -
-
- - -
- /*
-  * Copyright (C) 2012 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- import static java.lang.Math.min;
- import static java.util.concurrent.TimeUnit.SECONDS;
- 
- import java.util.concurrent.TimeUnit;
- 
- abstract class SmoothRateLimiter extends RateLimiter {
-   /*
-    * How is the RateLimiter designed, and why?
-    *
-    * The primary feature of a RateLimiter is its "stable rate", the maximum rate that is should
-    * allow at normal conditions. This is enforced by "throttling" incoming requests as needed, i.e.
-    * compute, for an incoming request, the appropriate throttle time, and make the calling thread
-    * wait as much.
-    *
-    * The simplest way to maintain a rate of QPS is to keep the timestamp of the last granted
-    * request, and ensure that (1/QPS) seconds have elapsed since then. For example, for a rate of
-    * QPS=5 (5 tokens per second), if we ensure that a request isn't granted earlier than 200ms after
-    * the last one, then we achieve the intended rate. If a request comes and the last request was
-    * granted only 100ms ago, then we wait for another 100ms. At this rate, serving 15 fresh permits
-    * (i.e. for an acquire(15) request) naturally takes 3 seconds.
-    *
-    * It is important to realize that such a RateLimiter has a very superficial memory of the past:
-    * it only remembers the last request. What if the RateLimiter was unused for a long period of
-    * time, then a request arrived and was immediately granted? This RateLimiter would immediately
-    * forget about that past underutilization. This may result in either underutilization or
-    * overflow, depending on the real world consequences of not using the expected rate.
-    *
-    * Past underutilization could mean that excess resources are available. Then, the RateLimiter
-    * should speed up for a while, to take advantage of these resources. This is important when the
-    * rate is applied to networking (limiting bandwidth), where past underutilization typically
-    * translates to "almost empty buffers", which can be filled immediately.
-    *
-    * On the other hand, past underutilization could mean that "the server responsible for handling
-    * the request has become less ready for future requests", i.e. its caches become stale, and
-    * requests become more likely to trigger expensive operations (a more extreme case of this
-    * example is when a server has just booted, and it is mostly busy with getting itself up to
-    * speed).
-    *
-    * To deal with such scenarios, we add an extra dimension, that of "past underutilization",
-    * modeled by "storedPermits" variable. This variable is zero when there is no underutilization,
-    * and it can grow up to maxStoredPermits, for sufficiently large underutilization. So, the
-    * requested permits, by an invocation acquire(permits), are served from:
-    *
-    * - stored permits (if available)
-    *
-    * - fresh permits (for any remaining permits)
-    *
-    * How this works is best explained with an example:
-    *
-    * For a RateLimiter that produces 1 token per second, every second that goes by with the
-    * RateLimiter being unused, we increase storedPermits by 1. Say we leave the RateLimiter unused
-    * for 10 seconds (i.e., we expected a request at time X, but we are at time X + 10 seconds before
-    * a request actually arrives; this is also related to the point made in the last paragraph), thus
-    * storedPermits becomes 10.0 (assuming maxStoredPermits >= 10.0). At that point, a request of
-    * acquire(3) arrives. We serve this request out of storedPermits, and reduce that to 7.0 (how
-    * this is translated to throttling time is discussed later). Immediately after, assume that an
-    * acquire(10) request arriving. We serve the request partly from storedPermits, using all the
-    * remaining 7.0 permits, and the remaining 3.0, we serve them by fresh permits produced by the
-    * rate limiter.
-    *
-    * We already know how much time it takes to serve 3 fresh permits: if the rate is
-    * "1 token per second", then this will take 3 seconds. But what does it mean to serve 7 stored
-    * permits? As explained above, there is no unique answer. If we are primarily interested to deal
-    * with underutilization, then we want stored permits to be given out /faster/ than fresh ones,
-    * because underutilization = free resources for the taking. If we are primarily interested to
-    * deal with overflow, then stored permits could be given out /slower/ than fresh ones. Thus, we
-    * require a (different in each case) function that translates storedPermits to throtting time.
-    *
-    * This role is played by storedPermitsToWaitTime(double storedPermits, double permitsToTake). The
-    * underlying model is a continuous function mapping storedPermits (from 0.0 to maxStoredPermits)
-    * onto the 1/rate (i.e. intervals) that is effective at the given storedPermits. "storedPermits"
-    * essentially measure unused time; we spend unused time buying/storing permits. Rate is
-    * "permits / time", thus "1 / rate = time / permits". Thus, "1/rate" (time / permits) times
-    * "permits" gives time, i.e., integrals on this function (which is what storedPermitsToWaitTime()
-    * computes) correspond to minimum intervals between subsequent requests, for the specified number
-    * of requested permits.
-    *
-    * Here is an example of storedPermitsToWaitTime: If storedPermits == 10.0, and we want 3 permits,
-    * we take them from storedPermits, reducing them to 7.0, and compute the throttling for these as
-    * a call to storedPermitsToWaitTime(storedPermits = 10.0, permitsToTake = 3.0), which will
-    * evaluate the integral of the function from 7.0 to 10.0.
-    *
-    * Using integrals guarantees that the effect of a single acquire(3) is equivalent to {
-    * acquire(1); acquire(1); acquire(1); }, or { acquire(2); acquire(1); }, etc, since the integral
-    * of the function in [7.0, 10.0] is equivalent to the sum of the integrals of [7.0, 8.0], [8.0,
-    * 9.0], [9.0, 10.0] (and so on), no matter what the function is. This guarantees that we handle
-    * correctly requests of varying weight (permits), /no matter/ what the actual function is - so we
-    * can tweak the latter freely. (The only requirement, obviously, is that we can compute its
-    * integrals).
-    *
-    * Note well that if, for this function, we chose a horizontal line, at height of exactly (1/QPS),
-    * then the effect of the function is non-existent: we serve storedPermits at exactly the same
-    * cost as fresh ones (1/QPS is the cost for each). We use this trick later.
-    *
-    * If we pick a function that goes /below/ that horizontal line, it means that we reduce the area
-    * of the function, thus time. Thus, the RateLimiter becomes /faster/ after a period of
-    * underutilization. If, on the other hand, we pick a function that goes /above/ that horizontal
-    * line, then it means that the area (time) is increased, thus storedPermits are more costly than
-    * fresh permits, thus the RateLimiter becomes /slower/ after a period of underutilization.
-    *
-    * Last, but not least: consider a RateLimiter with rate of 1 permit per second, currently
-    * completely unused, and an expensive acquire(100) request comes. It would be nonsensical to just
-    * wait for 100 seconds, and /then/ start the actual task. Why wait without doing anything? A much
-    * better approach is to /allow/ the request right away (as if it was an acquire(1) request
-    * instead), and postpone /subsequent/ requests as needed. In this version, we allow starting the
-    * task immediately, and postpone by 100 seconds future requests, thus we allow for work to get
-    * done in the meantime instead of waiting idly.
-    *
-    * This has important consequences: it means that the RateLimiter doesn't remember the time of the
-    * _last_ request, but it remembers the (expected) time of the _next_ request. This also enables
-    * us to tell immediately (see tryAcquire(timeout)) whether a particular timeout is enough to get
-    * us to the point of the next scheduling time, since we always maintain that. And what we mean by
-    * "an unused RateLimiter" is also defined by that notion: when we observe that the
-    * "expected arrival time of the next request" is actually in the past, then the difference (now -
-    * past) is the amount of time that the RateLimiter was formally unused, and it is that amount of
-    * time which we translate to storedPermits. (We increase storedPermits with the amount of permits
-    * that would have been produced in that idle time). So, if rate == 1 permit per second, and
-    * arrivals come exactly one second after the previous, then storedPermits is _never_ increased --
-    * we would only increase it for arrivals _later_ than the expected one second.
-    */
- 
-   /**
-    * This implements the following function where coldInterval = coldFactor * stableInterval.
-    *
-    * <pre>
-    *          ^ throttling
-    *          |
-    *    cold  +                  /
-    * interval |                 /.
-    *          |                / .
-    *          |               /  .   ? "warmup period" is the area of the trapezoid between
-    *          |              /   .     thresholdPermits and maxPermits
-    *          |             /    .
-    *          |            /     .
-    *          |           /      .
-    *   stable +----------/  WARM .
-    * interval |          .   UP  .
-    *          |          . PERIOD.
-    *          |          .       .
-    *        0 +----------+-------+--------------? storedPermits
-    *          0 thresholdPermits maxPermits
-    * </pre>
-    *
-    * Before going into the details of this particular function, let's keep in mind the basics:
-    *
-    * <ol>
-    *   <li>The state of the RateLimiter (storedPermits) is a vertical line in this figure.
-    *   <li>When the RateLimiter is not used, this goes right (up to maxPermits)
-    *   <li>When the RateLimiter is used, this goes left (down to zero), since if we have
-    *       storedPermits, we serve from those first
-    *   <li>When _unused_, we go right at a constant rate! The rate at which we move to the right is
-    *       chosen as maxPermits / warmupPeriod. This ensures that the time it takes to go from 0 to
-    *       maxPermits is equal to warmupPeriod.
-    *   <li>When _used_, the time it takes, as explained in the introductory class note, is equal to
-    *       the integral of our function, between X permits and X-K permits, assuming we want to
-    *       spend K saved permits.
-    * </ol>
-    *
-    * <p>In summary, the time it takes to move to the left (spend K permits), is equal to the area of
-    * the function of width == K.
-    *
-    * <p>Assuming we have saturated demand, the time to go from maxPermits to thresholdPermits is
-    * equal to warmupPeriod. And the time to go from thresholdPermits to 0 is warmupPeriod/2. (The
-    * reason that this is warmupPeriod/2 is to maintain the behavior of the original implementation
-    * where coldFactor was hard coded as 3.)
-    *
-    * <p>It remains to calculate thresholdsPermits and maxPermits.
-    *
-    * <ul>
-    *   <li>The time to go from thresholdPermits to 0 is equal to the integral of the function
-    *       between 0 and thresholdPermits. This is thresholdPermits * stableIntervals. By (5) it is
-    *       also equal to warmupPeriod/2. Therefore
-    *       <blockquote>
-    *       thresholdPermits = 0.5 * warmupPeriod / stableInterval
-    *       </blockquote>
-    *   <li>The time to go from maxPermits to thresholdPermits is equal to the integral of the
-    *       function between thresholdPermits and maxPermits. This is the area of the pictured
-    *       trapezoid, and it is equal to 0.5 * (stableInterval + coldInterval) * (maxPermits -
-    *       thresholdPermits). It is also equal to warmupPeriod, so
-    *       <blockquote>
-    *       maxPermits = thresholdPermits + 2 * warmupPeriod / (stableInterval + coldInterval)
-    *       </blockquote>
-    * </ul>
-    */
-   static final class SmoothWarmingUp extends SmoothRateLimiter {
-     private final long warmupPeriodMicros;
-     /**
-      * The slope of the line from the stable interval (when permits == 0), to the cold interval
-      * (when permits == maxPermits)
-      */
-     private double slope;
- 
-     private double thresholdPermits;
-     private double coldFactor;
- 
-     SmoothWarmingUp(
-         SleepingStopwatch stopwatch, long warmupPeriod, TimeUnit timeUnit, double coldFactor) {
-       super(stopwatch);
-       this.warmupPeriodMicros = timeUnit.toMicros(warmupPeriod);
-       this.coldFactor = coldFactor;
-     }
- 
-     @Override
-     void doSetRate(double permitsPerSecond, double stableIntervalMicros) {
-       double oldMaxPermits = maxPermits;
-       double coldIntervalMicros = stableIntervalMicros * coldFactor;
-       thresholdPermits = 0.5 * warmupPeriodMicros / stableIntervalMicros;
-       maxPermits =
-           thresholdPermits + 2.0 * warmupPeriodMicros / (stableIntervalMicros + coldIntervalMicros);
-       slope = (coldIntervalMicros - stableIntervalMicros) / (maxPermits - thresholdPermits);
-       if (oldMaxPermits == Double.POSITIVE_INFINITY) {
-         // if we don't special-case this, we would get storedPermits == NaN, below
-         storedPermits = 0.0;
-       } else {
-         storedPermits =
-             (oldMaxPermits == 0.0)
-                 ? maxPermits // initial state is cold
-                 : storedPermits * maxPermits / oldMaxPermits;
-       }
-     }
- 
-     @Override
-     long storedPermitsToWaitTime(double storedPermits, double permitsToTake) {
-       double availablePermitsAboveThreshold = storedPermits - thresholdPermits;
-       long micros = 0;
-       // measuring the integral on the right part of the function (the climbing line)
-       if (availablePermitsAboveThreshold > 0.0) {
-         double permitsAboveThresholdToTake = min(availablePermitsAboveThreshold, permitsToTake);
-         double length =
-             permitsToTime(availablePermitsAboveThreshold)
-                 + permitsToTime(availablePermitsAboveThreshold - permitsAboveThresholdToTake);
-         micros = (long) (permitsAboveThresholdToTake * length / 2.0);
-         permitsToTake -= permitsAboveThresholdToTake;
-       }
-       // measuring the integral on the left part of the function (the horizontal line)
-       micros += (long) (stableIntervalMicros * permitsToTake);
-       return micros;
-     }
- 
-     private double permitsToTime(double permits) {
-       return stableIntervalMicros + permits * slope;
-     }
- 
-     @Override
-     double coolDownIntervalMicros() {
-       return warmupPeriodMicros / maxPermits;
-     }
-   }
- 
-   /**
-    * This implements a "bursty" RateLimiter, where storedPermits are translated to zero throttling.
-    * The maximum number of permits that can be saved (when the RateLimiter is unused) is defined in
-    * terms of time, in this sense: if a RateLimiter is 2qps, and this time is specified as 10
-    * seconds, we can save up to 2 * 10 = 20 permits.
-    */
-   static final class SmoothBursty extends SmoothRateLimiter {
-     /** The work (permits) of how many seconds can be saved up if this RateLimiter is unused? */
-     final double maxBurstSeconds;
- 
-     SmoothBursty(SleepingStopwatch stopwatch, double maxBurstSeconds) {
-       super(stopwatch);
-       this.maxBurstSeconds = maxBurstSeconds;
-     }
- 
-     @Override
-     void doSetRate(double permitsPerSecond, double stableIntervalMicros) {
-       double oldMaxPermits = this.maxPermits;
-       maxPermits = maxBurstSeconds * permitsPerSecond;
-       if (oldMaxPermits == Double.POSITIVE_INFINITY) {
-         // if we don't special-case this, we would get storedPermits == NaN, below
-         storedPermits = maxPermits;
-       } else {
-         storedPermits =
-             (oldMaxPermits == 0.0)
-                 ? 0.0 // initial state
-                 : storedPermits * maxPermits / oldMaxPermits;
-       }
-     }
- 
-     @Override
-     long storedPermitsToWaitTime(double storedPermits, double permitsToTake) {
-       return 0L;
-     }
- 
-     @Override
-     double coolDownIntervalMicros() {
-       return stableIntervalMicros;
-     }
-   }
- 
-   /** The currently stored permits. */
-   double storedPermits;
- 
-   /** The maximum number of stored permits. */
-   double maxPermits;
- 
-   /**
-    * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits
-    * per second has a stable interval of 200ms.
-    */
-   double stableIntervalMicros;
- 
-   /**
-    * The time when the next request (no matter its size) will be granted. After granting a request,
-    * this is pushed further in the future. Large requests push this further than small requests.
-    */
-   private long nextFreeTicketMicros = 0L; // could be either in the past or future
- 
-   private SmoothRateLimiter(SleepingStopwatch stopwatch) {
-     super(stopwatch);
-   }
- 
-   @Override
-   final void doSetRate(double permitsPerSecond, long nowMicros) {
-     resync(nowMicros);
-     double stableIntervalMicros = SECONDS.toMicros(1L) / permitsPerSecond;
-     this.stableIntervalMicros = stableIntervalMicros;
-     doSetRate(permitsPerSecond, stableIntervalMicros);
-   }
- 
-   abstract void doSetRate(double permitsPerSecond, double stableIntervalMicros);
- 
-   @Override
-   final double doGetRate() {
-     return SECONDS.toMicros(1L) / stableIntervalMicros;
-   }
- 
-   @Override
-   final long queryEarliestAvailable(long nowMicros) {
-     return nextFreeTicketMicros;
-   }
- 
-   @Override
-   final long reserveEarliestAvailable(int requiredPermits, long nowMicros) {
-     resync(nowMicros);
-     long returnValue = nextFreeTicketMicros;
-     double storedPermitsToSpend = min(requiredPermits, this.storedPermits);
-     double freshPermits = requiredPermits - storedPermitsToSpend;
-     long waitMicros =
-         storedPermitsToWaitTime(this.storedPermits, storedPermitsToSpend)
-             + (long) (freshPermits * stableIntervalMicros);
- 
-     this.nextFreeTicketMicros = LongMath.saturatedAdd(nextFreeTicketMicros, waitMicros);
-     this.storedPermits -= storedPermitsToSpend;
-     return returnValue;
-   }
- 
-   /**
-    * Translates a specified portion of our currently stored permits which we want to spend/acquire,
-    * into a throttling time. Conceptually, this evaluates the integral of the underlying function we
-    * use, for the range of [(storedPermits - permitsToTake), storedPermits].
-    *
-    * <p>This always holds: {@code 0 <= permitsToTake <= storedPermits}
-    */
-   abstract long storedPermitsToWaitTime(double storedPermits, double permitsToTake);
- 
-   /**
-    * Returns the number of microseconds during cool down that we have to wait to get a new permit.
-    */
-   abstract double coolDownIntervalMicros();
- 
-   /** Updates {@code storedPermits} and {@code nextFreeTicketMicros} based on the current time. */
-   void resync(long nowMicros) {
-     // if nextFreeTicket is in the past, resync to now
-     if (nowMicros > nextFreeTicketMicros) {
-       double newPermits = (nowMicros - nextFreeTicketMicros) / coolDownIntervalMicros();
-       storedPermits = min(maxPermits, storedPermits + newPermits);
-       nextFreeTicketMicros = nowMicros;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-6.html b/CodeCoverageReport/ns-5/sources/source-6.html deleted file mode 100644 index 57fe85caa..000000000 --- a/CodeCoverageReport/ns-5/sources/source-6.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - - Coverage Report > Stopwatch - - - - - - -
- - -

Coverage Summary for Class: Stopwatch (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
Stopwatch - - 33.3% - - - (5/15) - - - - 8.7% - - - (2/23) - - - - 19.6% - - - (10/51) - -
Stopwatch$1 - - 0% - - - (0/1) - - - - 0% - - - (0/1) - -
Total - - 31.2% - - - (5/16) - - - - 8.7% - - - (2/23) - - - - 19.2% - - - (10/52) - -
- -
-
- - -
- /*
-  * Copyright (C) 2008 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull;
- import static com.google.maps.internal.ratelimiter.Preconditions.checkState;
- import static java.util.concurrent.TimeUnit.DAYS;
- import static java.util.concurrent.TimeUnit.HOURS;
- import static java.util.concurrent.TimeUnit.MICROSECONDS;
- import static java.util.concurrent.TimeUnit.MILLISECONDS;
- import static java.util.concurrent.TimeUnit.MINUTES;
- import static java.util.concurrent.TimeUnit.NANOSECONDS;
- import static java.util.concurrent.TimeUnit.SECONDS;
- 
- import java.util.concurrent.TimeUnit;
- 
- /**
-  * An object that measures elapsed time in nanoseconds. It is useful to measure elapsed time using
-  * this class instead of direct calls to {@link System#nanoTime} for a few reasons:
-  *
-  * <ul>
-  *   <li>An alternate time source can be substituted, for testing or performance reasons.
-  *   <li>As documented by {@code nanoTime}, the value returned has no absolute meaning, and can only
-  *       be interpreted as relative to another timestamp returned by {@code nanoTime} at a different
-  *       time. {@code Stopwatch} is a more effective abstraction because it exposes only these
-  *       relative values, not the absolute ones.
-  * </ul>
-  *
-  * <p>Basic usage:
-  *
-  * <pre>{@code
-  * Stopwatch stopwatch = Stopwatch.createStarted();
-  * doSomething();
-  * stopwatch.stop(); // optional
-  *
-  * long millis = stopwatch.elapsed(MILLISECONDS);
-  *
-  * log.info("time: " + stopwatch); // formatted string like "12.3 ms"
-  * }</pre>
-  *
-  * <p>Stopwatch methods are not idempotent; it is an error to start or stop a stopwatch that is
-  * already in the desired state.
-  *
-  * <p>When testing code that uses this class, use {@link #createUnstarted(Ticker)} or {@link
-  * #createStarted(Ticker)} to supply a fake or mock ticker. This allows you to simulate any valid
-  * behavior of the stopwatch.
-  *
-  * <p><b>Note:</b> This class is not thread-safe.
-  *
-  * <p><b>Warning for Android users:</b> a stopwatch with default behavior may not continue to keep
-  * time while the device is asleep. Instead, create one like this:
-  *
-  * <pre>{@code
-  * Stopwatch.createStarted(
-  *      new Ticker() {
-  *        public long read() {
-  *          return android.os.SystemClock.elapsedRealtimeNanos();
-  *        }
-  *      });
-  * }</pre>
-  *
-  * @author Kevin Bourrillion
-  */
- public final class Stopwatch {
-   private final Ticker ticker;
-   private boolean isRunning;
-   private long elapsedNanos;
-   private long startTick;
- 
-   /**
-    * Creates (but does not start) a new stopwatch using {@link System#nanoTime} as its time source.
-    */
-   public static Stopwatch createUnstarted() {
-     return new Stopwatch();
-   }
- 
-   /** Creates (but does not start) a new stopwatch, using the specified time source. */
-   public static Stopwatch createUnstarted(Ticker ticker) {
-     return new Stopwatch(ticker);
-   }
- 
-   /** Creates (and starts) a new stopwatch using {@link System#nanoTime} as its time source. */
-   public static Stopwatch createStarted() {
-     return new Stopwatch().start();
-   }
- 
-   /** Creates (and starts) a new stopwatch, using the specified time source. */
-   public static Stopwatch createStarted(Ticker ticker) {
-     return new Stopwatch(ticker).start();
-   }
- 
-   Stopwatch() {
-     this.ticker = Ticker.systemTicker();
-   }
- 
-   Stopwatch(Ticker ticker) {
-     this.ticker = checkNotNull(ticker, "ticker");
-   }
- 
-   /**
-    * Returns {@code true} if {@link #start()} has been called on this stopwatch, and {@link #stop()}
-    * has not been called since the last call to {@code start()}.
-    */
-   public boolean isRunning() {
-     return isRunning;
-   }
- 
-   /**
-    * Starts the stopwatch.
-    *
-    * @return this {@code Stopwatch} instance
-    * @throws IllegalStateException if the stopwatch is already running.
-    */
-   public Stopwatch start() {
-     checkState(!isRunning, "This stopwatch is already running.");
-     isRunning = true;
-     startTick = ticker.read();
-     return this;
-   }
- 
-   /**
-    * Stops the stopwatch. Future reads will return the fixed duration that had elapsed up to this
-    * point.
-    *
-    * @return this {@code Stopwatch} instance
-    * @throws IllegalStateException if the stopwatch is already stopped.
-    */
-   public Stopwatch stop() {
-     long tick = ticker.read();
-     checkState(isRunning, "This stopwatch is already stopped.");
-     isRunning = false;
-     elapsedNanos += tick - startTick;
-     return this;
-   }
- 
-   /**
-    * Sets the elapsed time for this stopwatch to zero, and places it in a stopped state.
-    *
-    * @return this {@code Stopwatch} instance
-    */
-   public Stopwatch reset() {
-     elapsedNanos = 0;
-     isRunning = false;
-     return this;
-   }
- 
-   private long elapsedNanos() {
-     return isRunning ? ticker.read() - startTick + elapsedNanos : elapsedNanos;
-   }
- 
-   /**
-    * Returns the current elapsed time shown on this stopwatch, expressed in the desired time unit,
-    * with any fraction rounded down.
-    *
-    * <p>Note that the overhead of measurement can be more than a microsecond, so it is generally not
-    * useful to specify {@link TimeUnit#NANOSECONDS} precision here.
-    */
-   public long elapsed(TimeUnit desiredUnit) {
-     return desiredUnit.convert(elapsedNanos(), NANOSECONDS);
-   }
- 
-   /** Returns a string representation of the current elapsed time. */
-   @Override
-   public String toString() {
-     long nanos = elapsedNanos();
- 
-     TimeUnit unit = chooseUnit(nanos);
-     double value = (double) nanos / NANOSECONDS.convert(1, unit);
- 
-     // Too bad this functionality is not exposed as a regular method call
-     return Platform.formatCompact4Digits(value) + " " + abbreviate(unit);
-   }
- 
-   private static TimeUnit chooseUnit(long nanos) {
-     if (DAYS.convert(nanos, NANOSECONDS) > 0) {
-       return DAYS;
-     }
-     if (HOURS.convert(nanos, NANOSECONDS) > 0) {
-       return HOURS;
-     }
-     if (MINUTES.convert(nanos, NANOSECONDS) > 0) {
-       return MINUTES;
-     }
-     if (SECONDS.convert(nanos, NANOSECONDS) > 0) {
-       return SECONDS;
-     }
-     if (MILLISECONDS.convert(nanos, NANOSECONDS) > 0) {
-       return MILLISECONDS;
-     }
-     if (MICROSECONDS.convert(nanos, NANOSECONDS) > 0) {
-       return MICROSECONDS;
-     }
-     return NANOSECONDS;
-   }
- 
-   private static String abbreviate(TimeUnit unit) {
-     switch (unit) {
-       case NANOSECONDS:
-         return "ns";
-       case MICROSECONDS:
-         return "\u03bcs"; // ?s
-       case MILLISECONDS:
-         return "ms";
-       case SECONDS:
-         return "s";
-       case MINUTES:
-         return "min";
-       case HOURS:
-         return "h";
-       case DAYS:
-         return "d";
-       default:
-         throw new AssertionError();
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-5/sources/source-7.html b/CodeCoverageReport/ns-5/sources/source-7.html deleted file mode 100644 index 5d9143d26..000000000 --- a/CodeCoverageReport/ns-5/sources/source-7.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - Coverage Report > Ticker - - - - - - -
- - -

Coverage Summary for Class: Ticker (com.google.maps.internal.ratelimiter)

- - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Line, % -
Ticker - - 100% - - - (3/3) - - - - 100% - - - (3/3) - -
Ticker$1 - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
Total - - 100% - - - (5/5) - - - - 100% - - - (5/5) - -
- -
-
- - -
- /*
-  * Copyright (C) 2011 The Guava Authors
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
-  * in compliance with the License. You may obtain a copy of the License at
-  *
-  * http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under the License
-  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-  * or implied. See the License for the specific language governing permissions and limitations under
-  * the License.
-  */
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.internal.ratelimiter;
- 
- /**
-  * A time source; returns a time value representing the number of nanoseconds elapsed since some
-  * fixed but arbitrary point in time. Note that most users should use {@link Stopwatch} instead of
-  * interacting with this class directly.
-  *
-  * <p><b>Warning:</b> this interface can only be used to measure elapsed time, not wall time.
-  *
-  * @author Kevin Bourrillion
-  */
- public abstract class Ticker {
-   /** Constructor for use by subclasses. */
-   protected Ticker() {}
- 
-   /** Returns the number of nanoseconds elapsed since this ticker's fixed point of reference. */
-   public abstract long read();
- 
-   /** A ticker that reads the current time using {@link System#nanoTime}. */
-   public static Ticker systemTicker() {
-     return SYSTEM_TICKER;
-   }
- 
-   private static final Ticker SYSTEM_TICKER =
-       new Ticker() {
-         @Override
-         public long read() {
-           return Platform.systemNanoTime();
-         }
-       };
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/index.html b/CodeCoverageReport/ns-6/index.html deleted file mode 100644 index def0d5cd7..000000000 --- a/CodeCoverageReport/ns-6/index.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html deleted file mode 100644 index a060349b0..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 9a4af81a2..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html deleted file mode 100644 index b899f941f..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index 38590c44b..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html deleted file mode 100644 index e7e9b33d7..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_LINE.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index 46c12d2d6..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html deleted file mode 100644 index d1e5efa99..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index a84a32239..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index ed736d7a9..000000000 --- a/CodeCoverageReport/ns-6/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Coverage Report > com.google.maps.metrics - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.metrics

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.metrics - - 100% - - - (9/9) - - - - 82.8% - - - (24/29) - - - - 83.3% - - - (5/6) - - - - 93.9% - - - (92/98) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (4/4) - -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
OpenCensusMetrics - - 100% - - - (5/5) - - - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (4/4) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-1.html b/CodeCoverageReport/ns-6/sources/source-1.html deleted file mode 100644 index 1e3c0148d..000000000 --- a/CodeCoverageReport/ns-6/sources/source-1.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - Coverage Report > NoOpRequestMetrics - - - - - - -
- - -

Coverage Summary for Class: NoOpRequestMetrics (com.google.maps.metrics)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
NoOpRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 100% - - - (4/4) - -
- -
-
- - -
- package com.google.maps.metrics;
- 
- /** A no-op implementation that does nothing */
- final class NoOpRequestMetrics implements RequestMetrics {
- 
-   NoOpRequestMetrics(String requestName) {}
- 
-   public void startNetwork() {}
- 
-   public void endNetwork() {}
- 
-   public void endRequest(Exception exception, int httpStatusCode, long retryCount) {}
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-2.html b/CodeCoverageReport/ns-6/sources/source-2.html deleted file mode 100644 index 62f0fcc5e..000000000 --- a/CodeCoverageReport/ns-6/sources/source-2.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - Coverage Report > NoOpRequestMetricsReporter - - - - - - -
- - -

Coverage Summary for Class: NoOpRequestMetricsReporter (com.google.maps.metrics)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
NoOpRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- package com.google.maps.metrics;
- 
- /** A no-op implementation that does nothing */
- public final class NoOpRequestMetricsReporter implements RequestMetricsReporter {
- 
-   public NoOpRequestMetricsReporter() {}
- 
-   public RequestMetrics newRequest(String requestName) {
-     return new NoOpRequestMetrics(requestName);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-3.html b/CodeCoverageReport/ns-6/sources/source-3.html deleted file mode 100644 index 4fce9a8f6..000000000 --- a/CodeCoverageReport/ns-6/sources/source-3.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - Coverage Report > OpenCensusMetrics - - - - - - -
- - -

Coverage Summary for Class: OpenCensusMetrics (com.google.maps.metrics)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
OpenCensusMetrics - - 80% - - - (4/5) - - - - 100% - - - (2/2) - - - - 88.9% - - - (8/9) - -
OpenCensusMetrics$Aggregations - - 66.7% - - - (2/3) - - - - 92.9% - - - (13/14) - -
OpenCensusMetrics$Measures - - 50% - - - (1/2) - - - - 85.7% - - - (6/7) - -
OpenCensusMetrics$Tags - - 50% - - - (1/2) - - - - 75% - - - (3/4) - -
OpenCensusMetrics$Views - - 50% - - - (1/2) - - - - 94.7% - - - (18/19) - -
Total - - 64.3% - - - (9/14) - - - - 100% - - - (2/2) - - - - 90.6% - - - (48/53) - -
- -
-
- - -
- package com.google.maps.metrics;
- 
- import io.opencensus.stats.Aggregation;
- import io.opencensus.stats.Aggregation.Count;
- import io.opencensus.stats.Aggregation.Distribution;
- import io.opencensus.stats.BucketBoundaries;
- import io.opencensus.stats.Measure.MeasureLong;
- import io.opencensus.stats.Stats;
- import io.opencensus.stats.View;
- import io.opencensus.stats.ViewManager;
- import io.opencensus.tags.TagKey;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- 
- /*
-  * OpenCensus metrics which are measured for every request.
-  */
- public final class OpenCensusMetrics {
-   private OpenCensusMetrics() {}
- 
-   public static final class Tags {
-     private Tags() {}
- 
-     public static final TagKey REQUEST_NAME = TagKey.create("request_name");
-     public static final TagKey HTTP_CODE = TagKey.create("http_code");
-     public static final TagKey API_STATUS = TagKey.create("api_status");
-   }
- 
-   public static final class Measures {
-     private Measures() {}
- 
-     public static final MeasureLong LATENCY =
-         MeasureLong.create(
-             "maps.googleapis.com/measure/client/latency",
-             "Total time between library method called and results returned",
-             "ms");
- 
-     public static final MeasureLong NETWORK_LATENCY =
-         MeasureLong.create(
-             "maps.googleapis.com/measure/client/network_latency",
-             "Network time inside the library",
-             "ms");
- 
-     public static final MeasureLong RETRY_COUNT =
-         MeasureLong.create(
-             "maps.googleapis.com/measure/client/retry_count",
-             "How many times any request was retried",
-             "1");
-   }
- 
-   private static final class Aggregations {
-     private Aggregations() {}
- 
-     private static final Aggregation COUNT = Count.create();
- 
-     private static final Aggregation DISTRIBUTION_INTEGERS_10 =
-         Distribution.create(
-             BucketBoundaries.create(
-                 Arrays.asList(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0)));
- 
-     // every bucket is ~25% bigger = 20 * 2^(N/3)
-     private static final Aggregation DISTRIBUTION_LATENCY =
-         Distribution.create(
-             BucketBoundaries.create(
-                 Arrays.asList(
-                     0.0, 20.0, 25.2, 31.7, 40.0, 50.4, 63.5, 80.0, 100.8, 127.0, 160.0, 201.6,
-                     254.0, 320.0, 403.2, 508.0, 640.0, 806.3, 1015.9, 1280.0, 1612.7, 2031.9,
-                     2560.0, 3225.4, 4063.7)));
-   }
- 
-   public static final class Views {
-     private Views() {}
- 
-     private static final List<TagKey> fields =
-         tags(Tags.REQUEST_NAME, Tags.HTTP_CODE, Tags.API_STATUS);
- 
-     public static final View REQUEST_COUNT =
-         View.create(
-             View.Name.create("maps.googleapis.com/client/request_count"),
-             "Request counts",
-             Measures.LATENCY,
-             Aggregations.COUNT,
-             fields);
- 
-     public static final View REQUEST_LATENCY =
-         View.create(
-             View.Name.create("maps.googleapis.com/client/request_latency"),
-             "Latency in msecs",
-             Measures.LATENCY,
-             Aggregations.DISTRIBUTION_LATENCY,
-             fields);
- 
-     public static final View NETWORK_LATENCY =
-         View.create(
-             View.Name.create("maps.googleapis.com/client/network_latency"),
-             "Network latency in msecs (internal)",
-             Measures.NETWORK_LATENCY,
-             Aggregations.DISTRIBUTION_LATENCY,
-             fields);
- 
-     public static final View RETRY_COUNT =
-         View.create(
-             View.Name.create("maps.googleapis.com/client/retry_count"),
-             "Retries per request",
-             Measures.RETRY_COUNT,
-             Aggregations.DISTRIBUTION_INTEGERS_10,
-             fields);
-   }
- 
-   public static void registerAllViews() {
-     registerAllViews(Stats.getViewManager());
-   }
- 
-   public static void registerAllViews(ViewManager viewManager) {
-     View[] views_to_register =
-         new View[] {
-           Views.REQUEST_COUNT, Views.REQUEST_LATENCY, Views.NETWORK_LATENCY, Views.RETRY_COUNT
-         };
-     for (View view : views_to_register) {
-       viewManager.registerView(view);
-     }
-   }
- 
-   private static List<TagKey> tags(TagKey... items) {
-     return Collections.unmodifiableList(Arrays.asList(items));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-4.html b/CodeCoverageReport/ns-6/sources/source-4.html deleted file mode 100644 index 6b4936152..000000000 --- a/CodeCoverageReport/ns-6/sources/source-4.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - Coverage Report > OpenCensusRequestMetrics - - - - - - -
- - -

Coverage Summary for Class: OpenCensusRequestMetrics (com.google.maps.metrics)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
OpenCensusRequestMetrics - - 100% - - - (1/1) - - - - 100% - - - (6/6) - - - - 75% - - - (3/4) - - - - 97.1% - - - (34/35) - -
- -
-
- - -
- package com.google.maps.metrics;
- 
- import io.opencensus.stats.StatsRecorder;
- import io.opencensus.tags.TagContext;
- import io.opencensus.tags.TagValue;
- import io.opencensus.tags.Tagger;
- 
- /** An OpenCensus logger that generates success and latency metrics. */
- final class OpenCensusRequestMetrics implements RequestMetrics {
-   private final String requestName;
-   private final Tagger tagger;
-   private final StatsRecorder statsRecorder;
- 
-   private long requestStart;
-   private long networkStart;
-   private long networkTime;
-   private boolean finished;
- 
-   OpenCensusRequestMetrics(String requestName, Tagger tagger, StatsRecorder statsRecorder) {
-     this.requestName = requestName;
-     this.tagger = tagger;
-     this.statsRecorder = statsRecorder;
-     this.requestStart = milliTime();
-     this.networkStart = milliTime();
-     this.networkTime = 0;
-     this.finished = false;
-   }
- 
-   @Override
-   public void startNetwork() {
-     this.networkStart = milliTime();
-   }
- 
-   @Override
-   public void endNetwork() {
-     this.networkTime += milliTime() - this.networkStart;
-   }
- 
-   @Override
-   public void endRequest(Exception exception, int httpStatusCode, long retryCount) {
-     // multiple endRequest are ignored
-     if (this.finished) {
-       return;
-     }
-     this.finished = true;
-     long requestTime = milliTime() - this.requestStart;
- 
-     TagContext tagContext =
-         tagger
-             .currentBuilder()
-             .putLocal(OpenCensusMetrics.Tags.REQUEST_NAME, TagValue.create(requestName))
-             .putLocal(
-                 OpenCensusMetrics.Tags.HTTP_CODE, TagValue.create(Integer.toString(httpStatusCode)))
-             .putLocal(OpenCensusMetrics.Tags.API_STATUS, TagValue.create(exceptionName(exception)))
-             .build();
-     statsRecorder
-         .newMeasureMap()
-         .put(OpenCensusMetrics.Measures.LATENCY, requestTime)
-         .put(OpenCensusMetrics.Measures.NETWORK_LATENCY, this.networkTime)
-         .put(OpenCensusMetrics.Measures.RETRY_COUNT, retryCount)
-         .record(tagContext);
-   }
- 
-   private String exceptionName(Exception exception) {
-     if (exception == null) {
-       return "";
-     } else {
-       return exception.getClass().getName();
-     }
-   }
- 
-   private long milliTime() {
-     return System.currentTimeMillis();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-5.html b/CodeCoverageReport/ns-6/sources/source-5.html deleted file mode 100644 index 431d5ad4d..000000000 --- a/CodeCoverageReport/ns-6/sources/source-5.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - Coverage Report > OpenCensusRequestMetricsReporter - - - - - - -
- - -

Coverage Summary for Class: OpenCensusRequestMetricsReporter (com.google.maps.metrics)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
OpenCensusRequestMetricsReporter - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 100% - - - (4/4) - -
- -
-
- - -
- package com.google.maps.metrics;
- 
- import io.opencensus.stats.Stats;
- import io.opencensus.stats.StatsRecorder;
- import io.opencensus.tags.Tagger;
- import io.opencensus.tags.Tags;
- 
- /** An OpenCensus logger that generates success and latency metrics. */
- public final class OpenCensusRequestMetricsReporter implements RequestMetricsReporter {
-   private static final Tagger tagger = Tags.getTagger();
-   private static final StatsRecorder statsRecorder = Stats.getStatsRecorder();
- 
-   public OpenCensusRequestMetricsReporter() {}
- 
-   @Override
-   public RequestMetrics newRequest(String requestName) {
-     return new OpenCensusRequestMetrics(requestName, tagger, statsRecorder);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-6.html b/CodeCoverageReport/ns-6/sources/source-6.html deleted file mode 100644 index d597cbd07..000000000 --- a/CodeCoverageReport/ns-6/sources/source-6.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - Coverage Report > RequestMetrics - - - - - - -
- - -

Coverage Summary for Class: RequestMetrics (com.google.maps.metrics)

- - - - - - - - - -
Class
RequestMetrics
- -
-
- - -
- package com.google.maps.metrics;
- 
- /**
-  * A type to report common metrics shared among all request types.
-  *
-  * <p>If a request retries, there will be multiple calls to all methods below. Ignore any endRequest
-  * after the first one. For example:
-  *
-  * <ol>
-  *   <li>constructor - request starts
-  *   <li>startNetwork / endNetwork - original request
-  *   <li>startNetwork / endNetwork - retried request
-  *   <li>endRequest - request finished (retry)
-  *   <li>endRequest - request finished (original)
-  * </ol>
-  *
-  * <p>The following metrics can be computed: Total queries, successful queries, total latency,
-  * network latency
-  */
- public interface RequestMetrics {
- 
-   void startNetwork();
- 
-   void endNetwork();
- 
-   void endRequest(Exception exception, int httpStatusCode, long retryCount);
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-6/sources/source-7.html b/CodeCoverageReport/ns-6/sources/source-7.html deleted file mode 100644 index 15e174e19..000000000 --- a/CodeCoverageReport/ns-6/sources/source-7.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - Coverage Report > RequestMetricsReporter - - - - - - -
- - -

Coverage Summary for Class: RequestMetricsReporter (com.google.maps.metrics)

- - - - - - - - - -
Class
RequestMetricsReporter
- -
-
- - -
- package com.google.maps.metrics;
- 
- /** A type to report common metrics shared among all request types. */
- public interface RequestMetricsReporter {
- 
-   RequestMetrics newRequest(String requestName);
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/index.html b/CodeCoverageReport/ns-7/index.html deleted file mode 100644 index 4e6b0cc0a..000000000 --- a/CodeCoverageReport/ns-7/index.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html deleted file mode 100644 index d4c815b9d..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html deleted file mode 100644 index 64be6a3bb..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_BLOCK_DESC.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html deleted file mode 100644 index 82e587cd7..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html deleted file mode 100644 index 1b6e30879..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_CLASS_DESC.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html b/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html deleted file mode 100644 index 044a813af..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_LINE.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html deleted file mode 100644 index 3c30ab52a..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_LINE_DESC.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html deleted file mode 100644 index 0fa85c88c..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html deleted file mode 100644 index af24e99a4..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_METHOD_DESC.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html b/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html deleted file mode 100644 index fe0794e09..000000000 --- a/CodeCoverageReport/ns-7/index_SORT_BY_NAME_DESC.html +++ /dev/null @@ -1,1931 +0,0 @@ - - - - - - Coverage Report > com.google.maps.model - - - - - - -
- - - -

Coverage Summary for Package: com.google.maps.model

- - - - - - - - - - - - - - - -
Package - Class, % - - Method, % - - Branch, % - - Line, % -
com.google.maps.model - - 84.5% - - - (60/71) - - - - 76.1% - - - (150/197) - - - - 38.2% - - - (84/220) - - - - 79.8% - - - (783/981) - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Class - Class, % - - Method, % - - Branch, % - - Line, % -
WifiAccessPoint - - 100% - - - (2/2) - - - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (19/19) - -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 80% - - - (4/5) - -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 87.5% - - - (7/8) - -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - - 100% - - - (6/6) - -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - - 66.7% - - - (2/3) - -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (3/3) - -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - - 71.4% - - - (5/7) - -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (8/8) - -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (109/109) - -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
PlaceDetails - - 60% - - - (3/5) - - - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (11/11) - -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
OpeningHours - - 80% - - - (4/5) - - - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
GeolocationPayload - - 100% - - - (2/2) - - - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (3/3) - -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - - 0% - - - (0/2) - -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - - 91.7% - - - (11/12) - -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (4/4) - -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (7/7) - -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - - 50% - - - (1/2) - -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - - 100% - - - (1/1) - -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - - 81.8% - - - (9/11) - -
CellTower - - 100% - - - (2/2) - - - - 92.3% - - - (12/13) - - - - - 95.2% - - - (40/42) - -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - - 100% - - - (2/2) - -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
AutocompletePrediction - - 100% - - - (3/3) - - - - 100% - - - (6/6) - - - - - 100% - - - (10/10) - -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - - 100% - - - (86/86) - -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
- -
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1.html b/CodeCoverageReport/ns-7/sources/source-1.html deleted file mode 100644 index a3a10b629..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Coverage Report > AddressComponent - - - - - - -
- - -

Coverage Summary for Class: AddressComponent (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
AddressComponent - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import java.io.Serializable;
- 
- /**
-  * The parts of an address.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address
-  * Types and Address Component Types</a> in the <a
-  * href="https://developers.google.com/maps/documentation/geocoding/intro">Google Maps Geocoding API
-  * Developer's Guide</a> for more detail.
-  */
- public class AddressComponent implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The full text description or name of the address component as returned by the Geocoder. */
-   public String longName;
- 
-   /**
-    * An abbreviated textual name for the address component, if available. For example, an address
-    * component for the state of Alaska may have a longName of "Alaska" and a shortName of "AK" using
-    * the 2-letter postal abbreviation.
-    */
-   public String shortName;
- 
-   /** Indicates the type of each part of the address. Examples include street number or country. */
-   public AddressComponentType[] types;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[AddressComponent: ");
-     sb.append("\"").append(longName).append("\"");
-     if (shortName != null) {
-       sb.append(" (\"").append(shortName).append("\")");
-     }
-     sb.append(" (").append(join(", ", (Object[]) types)).append(")");
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-10.html b/CodeCoverageReport/ns-7/sources/source-10.html deleted file mode 100644 index c012eecba..000000000 --- a/CodeCoverageReport/ns-7/sources/source-10.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrixElementStatus - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrixElementStatus (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
DistanceMatrixElementStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (4/4) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- /**
-  * The status result for a single {@link com.google.maps.model.DistanceMatrixElement}.
-  *
-  * @see <a
-  *     href="https://developers.google.com/maps/documentation/distance-matrix/intro#StatusCodes">
-  *     Documentation on status codes</a>
-  */
- public enum DistanceMatrixElementStatus {
-   /** Indicates that the response contains a valid result. */
-   OK,
- 
-   /** Indicates that the origin and/or destination of this pairing could not be geocoded. */
-   NOT_FOUND,
- 
-   /** Indicates that no route could be found between the origin and destination. */
-   ZERO_RESULTS
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-11.html b/CodeCoverageReport/ns-7/sources/source-11.html deleted file mode 100644 index 990a8517e..000000000 --- a/CodeCoverageReport/ns-7/sources/source-11.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrixRow - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrixRow (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
DistanceMatrixRow - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * Represents a single row in a Distance Matrix API response. A row represents the results for a
-  * single origin.
-  */
- public class DistanceMatrixRow implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The results for this row, or individual origin. */
-   public DistanceMatrixElement[] elements;
- 
-   @Override
-   public String toString() {
-     return String.format("[DistanceMatrixRow %d elements]", elements.length);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-12.html b/CodeCoverageReport/ns-7/sources/source-12.html deleted file mode 100644 index f199e458b..000000000 --- a/CodeCoverageReport/ns-7/sources/source-12.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - Coverage Report > Duration - - - - - - -
- - -

Coverage Summary for Class: Duration (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Duration - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (1/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** The duration component for Directions API results. */
- public class Duration implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * The numeric duration, in seconds. This is intended to be used only in algorithmic situations,
-    * e.g. sorting results by some user specified metric.
-    */
-   public long inSeconds;
- 
-   /** The human-friendly duration. Use this for display purposes. */
-   public String humanReadable;
- 
-   @Override
-   public String toString() {
-     return humanReadable;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-13.html b/CodeCoverageReport/ns-7/sources/source-13.html deleted file mode 100644 index cc41a61c0..000000000 --- a/CodeCoverageReport/ns-7/sources/source-13.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - Coverage Report > ElevationResult - - - - - - -
- - -

Coverage Summary for Class: ElevationResult (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
ElevationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * An Elevation API result.
-  *
-  * <p>Units are in meters, per https://developers.google.com/maps/documentation/elevation/start.
-  */
- public class ElevationResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** Elevation in meters. */
-   public double elevation;
-   /** Location of the elevation data. */
-   public LatLng location;
-   /** Maximum distance between data points from which the elevation was interpolated, in meters. */
-   public double resolution;
- 
-   @Override
-   public String toString() {
-     return String.format("(%s, %f m, resolution=%f m)", location, elevation, resolution);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-14.html b/CodeCoverageReport/ns-7/sources/source-14.html deleted file mode 100644 index 25b2572f1..000000000 --- a/CodeCoverageReport/ns-7/sources/source-14.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - Coverage Report > EncodedPolyline - - - - - - -
- - -

Coverage Summary for Class: EncodedPolyline (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
EncodedPolyline - - 100% - - - (1/1) - - - - 83.3% - - - (5/6) - - - - 91.7% - - - (11/12) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.PolylineEncoding;
- import java.io.Serializable;
- import java.util.List;
- 
- /**
-  * Encoded Polylines are used by the API to represent paths.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/utilities/polylinealgorithm">
-  * Encoded Polyline Algorithm</a> for more detail on the protocol.
-  */
- public class EncodedPolyline implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   private final String points;
- 
-   public EncodedPolyline() {
-     this.points = null;
-   }
- 
-   /**
-    * @param encodedPoints A string representation of a path, encoded with the Polyline Algorithm.
-    */
-   public EncodedPolyline(String encodedPoints) {
-     this.points = encodedPoints;
-   }
- 
-   /** @param points A path as a collection of {@code LatLng} points. */
-   public EncodedPolyline(List<LatLng> points) {
-     this.points = PolylineEncoding.encode(points);
-   }
- 
-   public String getEncodedPath() {
-     return points;
-   }
- 
-   public List<LatLng> decodePath() {
-     return PolylineEncoding.decode(points);
-   }
- 
-   // Use the encoded point representation; decoding to get an alternate representation for
-   // individual points would be expensive.
-   @Override
-   public String toString() {
-     return String.format("[EncodedPolyline: %s]", points);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-15.html b/CodeCoverageReport/ns-7/sources/source-15.html deleted file mode 100644 index 822931ddd..000000000 --- a/CodeCoverageReport/ns-7/sources/source-15.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - Coverage Report > Fare - - - - - - -
- - -

Coverage Summary for Class: Fare (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Fare - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.math.BigDecimal;
- import java.util.Currency;
- 
- /**
-  * A representation of ticket cost for use on public transit.
-  *
-  * <p>See the <a href="https://developers.google.com/maps/documentation/directions/intro#Routes">
-  * Routes Documentation</a> for more detail.
-  */
- public class Fare implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The currency that the amount is expressed in. */
-   public Currency currency;
- 
-   /** The total fare amount, in the currency specified in {@link #currency}. */
-   public BigDecimal value;
- 
-   @Override
-   public String toString() {
-     return String.format("%s %s", value, currency);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-16.html b/CodeCoverageReport/ns-7/sources/source-16.html deleted file mode 100644 index 9a3f5712f..000000000 --- a/CodeCoverageReport/ns-7/sources/source-16.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Coverage Report > FindPlaceFromText - - - - - - -
- - -

Coverage Summary for Class: FindPlaceFromText (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
FindPlaceFromText - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (1/2) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- public class FindPlaceFromText implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   public PlacesSearchResult candidates[];
- 
-   @Override
-   public String toString() {
-     return String.format("[FindPlaceFromText %d candidates]", candidates.length);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-17.html b/CodeCoverageReport/ns-7/sources/source-17.html deleted file mode 100644 index ab3412c44..000000000 --- a/CodeCoverageReport/ns-7/sources/source-17.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - Coverage Report > GeocodedWaypoint - - - - - - -
- - -

Coverage Summary for Class: GeocodedWaypoint (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GeocodedWaypoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 87.5% - - - (7/8) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.util.Arrays;
- 
- /**
-  * A point in a Directions API response; either the origin, one of the requested waypoints, or the
-  * destination. Please see <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#GeocodedWaypoints">
-  * Geocoded Waypoints</a> for more detail.
-  */
- public class GeocodedWaypoint implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The status code resulting from the geocoding operation for this waypoint. */
-   public GeocodedWaypointStatus geocoderStatus;
- 
-   /**
-    * Indicates that the geocoder did not return an exact match for the original request, though it
-    * was able to match part of the requested address.
-    */
-   public boolean partialMatch;
- 
-   /** A unique identifier for this waypoint that can be used with other Google APIs. */
-   public String placeId;
- 
-   /** The address types of the geocoding result used for calculating directions. */
-   public AddressType types[];
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[GeocodedWaypoint");
-     sb.append(" ").append(geocoderStatus);
-     if (partialMatch) {
-       sb.append(" ").append("PARTIAL MATCH");
-     }
-     sb.append(" placeId=").append(placeId);
-     sb.append(", types=").append(Arrays.toString(types));
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-18.html b/CodeCoverageReport/ns-7/sources/source-18.html deleted file mode 100644 index aef905ed7..000000000 --- a/CodeCoverageReport/ns-7/sources/source-18.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Coverage Report > GeocodedWaypointStatus - - - - - - -
- - -

Coverage Summary for Class: GeocodedWaypointStatus (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
GeocodedWaypointStatus - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (3/3) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- /**
-  * The status result for a single {@link com.google.maps.model.GeocodedWaypoint}.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#StatusCodes">
-  *     Documentation on status codes</a>
-  */
- public enum GeocodedWaypointStatus {
-   /** Indicates the response contains a valid result. */
-   OK,
- 
-   /** Indicates no route could be found between the origin and destination. */
-   ZERO_RESULTS
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-19.html b/CodeCoverageReport/ns-7/sources/source-19.html deleted file mode 100644 index f08ceb7f5..000000000 --- a/CodeCoverageReport/ns-7/sources/source-19.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - Coverage Report > GeocodingResult - - - - - - -
- - -

Coverage Summary for Class: GeocodingResult (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
GeocodingResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (3/6) - - - - 92.3% - - - (12/13) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.util.Arrays;
- 
- /** A result from a Geocoding API call. */
- public class GeocodingResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The separate address components in this result. */
-   public AddressComponent[] addressComponents;
- 
-   /**
-    * The human-readable address of this location.
-    *
-    * <p>Often this address is equivalent to the "postal address," which sometimes differs from
-    * country to country. (Note that some countries, such as the United Kingdom, do not allow
-    * distribution of true postal addresses due to licensing restrictions.) This address is generally
-    * composed of one or more address components. For example, the address "111 8th Avenue, New York,
-    * NY" contains separate address components for "111" (the street number, "8th Avenue" (the
-    * route), "New York" (the city) and "NY" (the US state). These address components contain
-    * additional information.
-    */
-   public String formattedAddress;
- 
-   /**
-    * All the localities contained in a postal code. This is only present when the result is a postal
-    * code that contains multiple localities.
-    */
-   public String[] postcodeLocalities;
- 
-   /** Location information for this result. */
-   public Geometry geometry;
- 
-   /**
-    * The types of the returned result. This array contains a set of zero or more tags identifying
-    * the type of feature returned in the result. For example, a geocode of "Chicago" returns
-    * "locality" which indicates that "Chicago" is a city, and also returns "political" which
-    * indicates it is a political entity.
-    */
-   public AddressType[] types;
- 
-   /**
-    * Indicates that the geocoder did not return an exact match for the original request, though it
-    * was able to match part of the requested address. You may wish to examine the original request
-    * for misspellings and/or an incomplete address.
-    *
-    * <p>Partial matches most often occur for street addresses that do not exist within the locality
-    * you pass in the request. Partial matches may also be returned when a request matches two or
-    * more locations in the same locality. For example, "21 Henr St, Bristol, UK" will return a
-    * partial match for both Henry Street and Henrietta Street. Note that if a request includes a
-    * misspelled address component, the geocoding service may suggest an alternate address.
-    * Suggestions triggered in this way will not be marked as a partial match.
-    */
-   public boolean partialMatch;
- 
-   /** A unique identifier for this place. */
-   public String placeId;
- 
-   /** The Plus Code identifier for this place. */
-   public PlusCode plusCode;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[GeocodingResult");
-     if (partialMatch) {
-       sb.append(" PARTIAL MATCH");
-     }
-     sb.append(" placeId=").append(placeId);
-     sb.append(" ").append(geometry);
-     sb.append(", formattedAddress=").append(formattedAddress);
-     sb.append(", types=").append(Arrays.toString(types));
-     sb.append(", addressComponents=").append(Arrays.toString(addressComponents));
-     if (postcodeLocalities != null && postcodeLocalities.length > 0) {
-       sb.append(", postcodeLocalities=").append(Arrays.toString(postcodeLocalities));
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1a.html b/CodeCoverageReport/ns-7/sources/source-1a.html deleted file mode 100644 index 86c3aee25..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1a.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - - Coverage Report > GeolocationPayload - - - - - - -
- - -

Coverage Summary for Class: GeolocationPayload (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
GeolocationPayload - - 75% - - - (3/4) - - - - 0% - - - (0/16) - - - - 44.1% - - - (15/34) - -
GeolocationPayload$1
GeolocationPayload$GeolocationPayloadBuilder - - 90.9% - - - (10/11) - - - - 100% - - - (4/4) - - - - 93.9% - - - (31/33) - -
Total - - 86.7% - - - (13/15) - - - - 20% - - - (4/20) - - - - 68.7% - - - (46/67) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- 
- /**
-  * Request body.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/maps/documentation/geolocation/intro#requests">Geolocation
-  * Requests</a> and <a
-  * href="https://developers.google.com/maps/documentation/geolocation/intro#body">Request Body</a>
-  * for more detail.
-  *
-  * <p>The following fields are supported, and all fields are optional:
-  */
- public class GeolocationPayload implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   public GeolocationPayload() {}
- 
-   // constructor only used by the builder class below
-   private GeolocationPayload(
-       Integer _homeMobileCountryCode,
-       Integer _homeMobileNetworkCode,
-       String _radioType,
-       String _carrier,
-       Boolean _considerIp,
-       CellTower[] _cellTowers,
-       WifiAccessPoint[] _wifiAccessPoints) {
-     homeMobileCountryCode = _homeMobileCountryCode;
-     homeMobileNetworkCode = _homeMobileNetworkCode;
-     radioType = _radioType;
-     carrier = _carrier;
-     considerIp = _considerIp;
-     cellTowers = _cellTowers;
-     wifiAccessPoints = _wifiAccessPoints;
-   }
-   /** The mobile country code (MCC) for the device's home network. */
-   public Integer homeMobileCountryCode = null;
-   /** The mobile network code (MNC) for the device's home network. */
-   public Integer homeMobileNetworkCode = null;
-   /**
-    * The mobile radio type. Supported values are {@code "lte"}, {@code "gsm"}, {@code "cdma"}, and
-    * {@code "wcdma"}. While this field is optional, it should be included if a value is available,
-    * for more accurate results.
-    */
-   public String radioType = null;
-   /** The carrier name. */
-   public String carrier = null;
-   /**
-    * Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not
-    * available. Note that the IP address in the request header may not be the IP of the device.
-    * Defaults to true. Set considerIp to false to disable fall back.
-    */
-   public Boolean considerIp = null;
-   /** An array of cell tower objects. See {@link com.google.maps.model.CellTower}. */
-   public CellTower[] cellTowers;
-   /** An array of WiFi access point objects. See {@link com.google.maps.model.WifiAccessPoint}. */
-   public WifiAccessPoint[] wifiAccessPoints;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[GeolocationPayload");
-     List<String> elements = new ArrayList<>();
-     if (homeMobileCountryCode != null) {
-       elements.add("homeMobileCountryCode=" + homeMobileCountryCode);
-     }
-     if (homeMobileNetworkCode != null) {
-       elements.add("homeMobileNetworkCode=" + homeMobileNetworkCode);
-     }
-     if (radioType != null) {
-       elements.add("radioType=" + radioType);
-     }
-     if (carrier != null) {
-       elements.add("carrier=" + carrier);
-     }
-     elements.add("considerIp=" + considerIp);
-     if (cellTowers != null && cellTowers.length > 0) {
-       elements.add("cellTowers=" + Arrays.toString(cellTowers));
-     }
-     if (wifiAccessPoints != null && wifiAccessPoints.length > 0) {
-       elements.add("wifiAccessPoints=" + Arrays.toString(wifiAccessPoints));
-     }
-     sb.append(join(", ", elements));
-     sb.append("]");
-     return sb.toString();
-   }
- 
-   public static class GeolocationPayloadBuilder {
-     private Integer _homeMobileCountryCode = null;
-     private Integer _homeMobileNetworkCode = null;
-     private String _radioType = null;
-     private String _carrier = null;
-     private Boolean _considerIp = null;
-     private CellTower[] _cellTowers = null;
-     private List<CellTower> _addedCellTowers = new ArrayList<>();
-     private WifiAccessPoint[] _wifiAccessPoints = null;
-     private List<WifiAccessPoint> _addedWifiAccessPoints = new ArrayList<>();
- 
-     public GeolocationPayload createGeolocationPayload() {
-       // if wifi access points have been added individually...
-       if (!_addedWifiAccessPoints.isEmpty()) {
-         // ...use them as our list of access points by converting the list to an array
-         _wifiAccessPoints = _addedWifiAccessPoints.toArray(new WifiAccessPoint[0]);
-       } // otherwise we will simply use the array set outright
- 
-       // same logic as above for cell towers
-       if (!_addedCellTowers.isEmpty()) {
-         _cellTowers = _addedCellTowers.toArray(new CellTower[0]);
-       }
- 
-       return new GeolocationPayload(
-           _homeMobileCountryCode,
-           _homeMobileNetworkCode,
-           _radioType,
-           _carrier,
-           _considerIp,
-           _cellTowers,
-           _wifiAccessPoints);
-     }
- 
-     public GeolocationPayloadBuilder HomeMobileCountryCode(int newHomeMobileCountryCode) {
-       this._homeMobileCountryCode = newHomeMobileCountryCode;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder HomeMobileNetworkCode(int newHomeMobileNetworkCode) {
-       this._homeMobileNetworkCode = newHomeMobileNetworkCode;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder RadioType(String newRadioType) {
-       this._radioType = newRadioType;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder Carrier(String newCarrier) {
-       this._carrier = newCarrier;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder ConsiderIp(boolean newConsiderIp) {
-       this._considerIp = newConsiderIp;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder CellTowers(CellTower[] newCellTowers) {
-       this._cellTowers = newCellTowers;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder AddCellTower(CellTower newCellTower) {
-       this._addedCellTowers.add(newCellTower);
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder WifiAccessPoints(WifiAccessPoint[] newWifiAccessPoints) {
-       this._wifiAccessPoints = newWifiAccessPoints;
-       return this;
-     }
- 
-     public GeolocationPayloadBuilder AddWifiAccessPoint(WifiAccessPoint newWifiAccessPoint) {
-       this._addedWifiAccessPoints.add(newWifiAccessPoint);
-       return this;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1b.html b/CodeCoverageReport/ns-7/sources/source-1b.html deleted file mode 100644 index fa135400f..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1b.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - Coverage Report > GeolocationResult - - - - - - -
- - -

Coverage Summary for Class: GeolocationResult (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
GeolocationResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * A Geolocation API result.
-  *
-  * <p>A successful geolocation request will return a result defining a location and radius.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/maps/documentation/geolocation/intro#responses">Geolocation
-  * responses</a> for more detail.
-  */
- public class GeolocationResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /** The users estimated latitude and longitude. */
-   public LatLng location;
-   /**
-    * The accuracy of the estimated location, in meters. This represents the radius of a circle
-    * around the returned {@code location}.
-    */
-   public double accuracy;
- 
-   @Override
-   public String toString() {
-     return String.format("%s, accuracy=%s m", location, accuracy);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1c.html b/CodeCoverageReport/ns-7/sources/source-1c.html deleted file mode 100644 index 8b470845a..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1c.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - Coverage Report > Geometry - - - - - - -
- - -

Coverage Summary for Class: Geometry (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Geometry - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** The geometry of a Geocoding result. */
- public class Geometry implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /**
-    * The bounding box which can fully contain the returned result (optionally returned). Note that
-    * these bounds may not match the recommended viewport. (For example, San Francisco includes the
-    * Farallon islands, which are technically part of the city, but probably should not be returned
-    * in the viewport.)
-    */
-   public Bounds bounds;
- 
-   /**
-    * The geocoded latitude/longitude value. For normal address lookups, this field is typically the
-    * most important.
-    */
-   public LatLng location;
- 
-   /** The level of certainty of this geocoding result. */
-   public LocationType locationType;
- 
-   /**
-    * The recommended viewport for displaying the returned result. Generally the viewport is used to
-    * frame a result when displaying it to a user.
-    */
-   public Bounds viewport;
- 
-   @Override
-   public String toString() {
-     return String.format(
-         "[Geometry: %s (%s) bounds=%s, viewport=%s]", location, locationType, bounds, viewport);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1d.html b/CodeCoverageReport/ns-7/sources/source-1d.html deleted file mode 100644 index 18d7ad1cd..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1d.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - Coverage Report > LatLng - - - - - - -
- - -

Coverage Summary for Class: LatLng (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
LatLng - - 100% - - - (1/1) - - - - 50% - - - (3/6) - - - - 0% - - - (0/10) - - - - 50% - - - (6/12) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.io.Serializable;
- import java.util.Locale;
- import java.util.Objects;
- 
- /** A place on Earth, represented by a latitude/longitude pair. */
- public class LatLng implements UrlValue, Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The latitude of this location. */
-   public double lat;
- 
-   /** The longitude of this location. */
-   public double lng;
- 
-   /**
-    * Constructs a location with a latitude/longitude pair.
-    *
-    * @param lat The latitude of this location.
-    * @param lng The longitude of this location.
-    */
-   public LatLng(double lat, double lng) {
-     this.lat = lat;
-     this.lng = lng;
-   }
- 
-   /** Serialisation constructor. */
-   public LatLng() {}
- 
-   @Override
-   public String toString() {
-     return toUrlValue();
-   }
- 
-   @Override
-   public String toUrlValue() {
-     // Enforce Locale to English for double to string conversion
-     return String.format(Locale.ENGLISH, "%.8f,%.8f", lat, lng);
-   }
- 
-   @Override
-   public boolean equals(Object o) {
-     if (this == o) return true;
-     if (o == null || getClass() != o.getClass()) return false;
-     LatLng latLng = (LatLng) o;
-     return Double.compare(latLng.lat, lat) == 0 && Double.compare(latLng.lng, lng) == 0;
-   }
- 
-   @Override
-   public int hashCode() {
-     return Objects.hash(lat, lng);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1e.html b/CodeCoverageReport/ns-7/sources/source-1e.html deleted file mode 100644 index af4f269ba..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1e.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - Coverage Report > LocationType - - - - - - -
- - -

Coverage Summary for Class: LocationType (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
LocationType - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - - - - 100% - - - (9/9) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- 
- /**
-  * Location types for a reverse geocoding request. Please see <a
-  * href="https://developers.google.com/maps/documentation/geocoding/start#reverse">Reverse
-  * Geocoding</a> for more detail.
-  */
- public enum LocationType implements UrlValue {
-   /**
-    * Restricts the results to addresses for which we have location information accurate down to
-    * street address precision.
-    */
-   ROOFTOP,
- 
-   /**
-    * Restricts the results to those that reflect an approximation (usually on a road) interpolated
-    * between two precise points (such as intersections). An interpolated range generally indicates
-    * that rooftop geocodes are unavailable for a street address.
-    */
-   RANGE_INTERPOLATED,
- 
-   /**
-    * Restricts the results to geometric centers of a location such as a polyline (for example, a
-    * street) or polygon (region).
-    */
-   GEOMETRIC_CENTER,
- 
-   /** Restricts the results to those that are characterized as approximate. */
-   APPROXIMATE,
- 
-   /**
-    * Indicates an unknown location type returned by the server. The Java Client for Google Maps
-    * Services should be updated to support the new value.
-    */
-   UNKNOWN;
- 
-   @Override
-   public String toUrlValue() {
-     if (this == UNKNOWN) {
-       throw new UnsupportedOperationException("Shouldn't use LocationType.UNKNOWN in a request.");
-     }
-     return name();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-1f.html b/CodeCoverageReport/ns-7/sources/source-1f.html deleted file mode 100644 index f72912eb3..000000000 --- a/CodeCoverageReport/ns-7/sources/source-1f.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - Coverage Report > OpeningHours - - - - - - -
- - -

Coverage Summary for Class: OpeningHours (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
OpeningHours - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 70% - - - (7/10) - -
OpeningHours$Period - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
OpeningHours$Period$OpenClose - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
OpeningHours$Period$OpenClose$DayOfWeek - - 66.7% - - - (2/3) - - - - 92.3% - - - (12/13) - -
OpeningHours$SpecialDay - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
Total - - 72.7% - - - (8/11) - - - - 33.3% - - - (4/12) - - - - 65.7% - - - (23/35) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.time.LocalTime;
- import java.util.Arrays;
- 
- /**
-  * Opening hours for a Place Details result. Please see <a href=
-  * "https://developers.google.com/places/web-service/details#PlaceDetailsResults">Place Details
-  * Results</a> for more details.
-  */
- public class OpeningHours implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /**
-    * Whether the place is open at the current time.
-    *
-    * <p>Note: this field will be null if it isn't present in the response.
-    */
-   public Boolean openNow;
- 
-   /** The opening hours for a Place for a single day. */
-   public static class Period implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     public static class OpenClose implements Serializable {
- 
-       private static final long serialVersionUID = 1L;
- 
-       public enum DayOfWeek {
-         SUNDAY("Sunday"),
-         MONDAY("Monday"),
-         TUESDAY("Tuesday"),
-         WEDNESDAY("Wednesday"),
-         THURSDAY("Thursday"),
-         FRIDAY("Friday"),
-         SATURDAY("Saturday"),
- 
-         /**
-          * Indicates an unknown day of week type returned by the server. The Java Client for Google
-          * Maps Services should be updated to support the new value.
-          */
-         UNKNOWN("Unknown");
- 
-         private DayOfWeek(String name) {
-           this.name = name;
-         }
- 
-         private final String name;
- 
-         public String getName() {
-           return name;
-         }
-       }
- 
-       /** Day that this Open/Close pair is for. */
-       public Period.OpenClose.DayOfWeek day;
- 
-       /** Time that this Open or Close happens at. */
-       public LocalTime time;
- 
-       @Override
-       public String toString() {
-         return String.format("%s %s", day, time);
-       }
-     }
- 
-     /** When the Place opens. */
-     public Period.OpenClose open;
- 
-     /** When the Place closes. */
-     public Period.OpenClose close;
- 
-     @Override
-     public String toString() {
-       return String.format("%s - %s", open, close);
-     }
-   }
- 
-   /** Opening periods covering seven days, starting from Sunday, in chronological order. */
-   public Period[] periods;
- 
-   /** An indicator of special hours for a Place for a single day. */
-   public static class SpecialDay implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     /**
-      * A date expressed in RFC3339 format in the local timezone for the place, for example
-      * 2010-12-31.
-      */
-     public String date;
- 
-     /**
-      * True if there are exceptional hours for this day. If true, this means that there is at least
-      * one exception for this day. Exceptions cause different values to occur in the subfields of
-      * currentOpeningHours and secondaryOpeningHours such as periods, DayOfWeek, openNow. The
-      * exceptions apply to the hours, and the hours are used to generate the other fields.
-      */
-     public Boolean exceptionalHours;
- 
-     @Override
-     public String toString() {
-       StringBuilder sb = new StringBuilder("[Special Day: ");
-       if (date != null) {
-         sb.append(" (\"").append(date).append("\")");
-       }
-       if (exceptionalHours != null) {
-         sb.append(" (\"").append(exceptionalHours).append("\")");
-       }
-       sb.append("]");
-       return sb.toString();
-     }
-   }
- 
-   /** An array of up to seven entries corresponding to the next seven days. */
-   public SpecialDay[] specialDays;
- 
-   /**
-    * A type string used to identify the type of secondary hours (for example, DRIVE_THROUGH,
-    * HAPPY_HOUR, DELIVERY, TAKEOUT, KITCHEN, BREAKFAST, LUNCH, DINNER, BRUNCH, PICKUP,
-    * SENIOR_HOURS). Set for secondary_opening_hours only.
-    */
-   public String type;
- 
-   /**
-    * The formatted opening hours for each day of the week, as an array of seven strings; for
-    * example, {@code "Monday: 8:30 am  5:30 pm"}.
-    */
-   public String[] weekdayText;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[OpeningHours:");
-     if (openNow != null && openNow) {
-       sb.append(" openNow");
-     }
-     sb.append(" ").append(Arrays.toString(periods));
-     if (specialDays != null) {
-       sb.append(" (\"").append(specialDays).append("\")");
-     }
-     if (type != null) {
-       sb.append(" (\"").append(type).append("\")");
-     }
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2.html b/CodeCoverageReport/ns-7/sources/source-2.html deleted file mode 100644 index 62a8d8914..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2.html +++ /dev/null @@ -1,407 +0,0 @@ - - - - - - - - Coverage Report > AddressComponentType - - - - - - -
- - -

Coverage Summary for Class: AddressComponentType (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
AddressComponentType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 100% - - - (86/86) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- /**
-  * The Address Component types. Please see <a
-  * href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address Types and
-  * Address Component Types</a> for more detail.
-  */
- public enum AddressComponentType {
- 
-   /** A precise street address. */
-   STREET_ADDRESS("street_address"),
- 
-   /** A named route (such as "US 101"). */
-   ROUTE("route"),
- 
-   /** A major intersection, usually of two major roads. */
-   INTERSECTION("intersection"),
- 
-   /** A continent. */
-   CONTINENT("continent"),
- 
-   /** A political entity. Usually, this type indicates a polygon of some civil administration. */
-   POLITICAL("political"),
- 
-   /** A national political entity, typically the highest order type returned by the Geocoder. */
-   COUNTRY("country"),
- 
-   /**
-    * A first-order civil entity below the country level. Within the United States, these
-    * administrative levels are states. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_1("administrative_area_level_1"),
- 
-   /**
-    * A second-order civil entity below the country level. Within the United States, these
-    * administrative levels are counties. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_2("administrative_area_level_2"),
- 
-   /**
-    * A third-order civil entity below the country level. This type indicates a minor civil division.
-    * Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_3("administrative_area_level_3"),
- 
-   /**
-    * A fourth-order civil entity below the country level. This type indicates a minor civil
-    * division. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_4("administrative_area_level_4"),
- 
-   /**
-    * A fifth-order civil entity below the country level. This type indicates a minor civil division.
-    * Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_5("administrative_area_level_5"),
- 
-   /** A commonly-used alternative name for the entity. */
-   COLLOQUIAL_AREA("colloquial_area"),
- 
-   /** An incorporated city or town political entity. */
-   LOCALITY("locality"),
- 
-   /**
-    * A specific type of Japanese locality, used to facilitate distinction between multiple locality
-    * components within a Japanese address.
-    */
-   WARD("ward"),
- 
-   /**
-    * A first-order civil entity below a locality. For some locations may receive one of the
-    * additional types: sublocality_level_1 to sublocality_level_5. Each sublocality level is a civil
-    * entity. Larger numbers indicate a smaller geographic area.
-    */
-   SUBLOCALITY("sublocality"),
-   SUBLOCALITY_LEVEL_1("sublocality_level_1"),
-   SUBLOCALITY_LEVEL_2("sublocality_level_2"),
-   SUBLOCALITY_LEVEL_3("sublocality_level_3"),
-   SUBLOCALITY_LEVEL_4("sublocality_level_4"),
-   SUBLOCALITY_LEVEL_5("sublocality_level_5"),
- 
-   /** A named neighborhood. */
-   NEIGHBORHOOD("neighborhood"),
- 
-   /** A named location, usually a building or collection of buildings with a common name. */
-   PREMISE("premise"),
- 
-   /**
-    * A first-order entity below a named location, usually a singular building within a collection of
-    * buildings with a common name.
-    */
-   SUBPREMISE("subpremise"),
- 
-   /** A postal code as used to address postal mail within the country. */
-   POSTAL_CODE("postal_code"),
- 
-   /** A postal code prefix as used to address postal mail within the country. */
-   POSTAL_CODE_PREFIX("postal_code_prefix"),
- 
-   /** A postal code suffix as used to address postal mail within the country. */
-   POSTAL_CODE_SUFFIX("postal_code_suffix"),
- 
-   /** A prominent natural feature. */
-   NATURAL_FEATURE("natural_feature"),
- 
-   /** An airport. */
-   AIRPORT("airport"),
- 
-   /** A named park. */
-   PARK("park"),
- 
-   /**
-    * A named point of interest. Typically, these "POI"s are prominent local entities that don't
-    * easily fit in another category, such as "Empire State Building" or "Statue of Liberty."
-    */
-   POINT_OF_INTEREST("point_of_interest"),
- 
-   /** The floor of a building address. */
-   FLOOR("floor"),
- 
-   /** Typically indicates a place that has not yet been categorized. */
-   ESTABLISHMENT("establishment"),
- 
-   /** A parking lot or parking structure. */
-   PARKING("parking"),
- 
-   /** A specific postal box. */
-   POST_BOX("post_box"),
- 
-   /**
-    * A grouping of geographic areas, such as locality and sublocality, used for mailing addresses in
-    * some countries.
-    */
-   POSTAL_TOWN("postal_town"),
- 
-   /** The room of a building address. */
-   ROOM("room"),
- 
-   /** The precise street number of an address. */
-   STREET_NUMBER("street_number"),
- 
-   /** The location of a bus stop. */
-   BUS_STATION("bus_station"),
- 
-   /** The location of a train station. */
-   TRAIN_STATION("train_station"),
- 
-   /** The location of a subway station. */
-   SUBWAY_STATION("subway_station"),
- 
-   /** The location of a transit station. */
-   TRANSIT_STATION("transit_station"),
- 
-   /** The location of a light rail station. */
-   LIGHT_RAIL_STATION("light_rail_station"),
- 
-   /** A general contractor. */
-   GENERAL_CONTRACTOR("general_contractor"),
- 
-   /** A food service establishment. */
-   FOOD("food"),
- 
-   /** A real-estate agency. */
-   REAL_ESTATE_AGENCY("real_estate_agency"),
- 
-   /** A car-rental establishment. */
-   CAR_RENTAL("car_rental"),
- 
-   /** A travel agency. */
-   TRAVEL_AGENCY("travel_agency"),
- 
-   /** An electronics store. */
-   ELECTRONICS_STORE("electronics_store"),
- 
-   /** A home goods store. */
-   HOME_GOODS_STORE("home_goods_store"),
- 
-   /** A school. */
-   SCHOOL("school"),
- 
-   /** A store. */
-   STORE("store"),
- 
-   /** A shopping mall. */
-   SHOPPING_MALL("shopping_mall"),
- 
-   /** A lodging establishment. */
-   LODGING("lodging"),
- 
-   /** An art gallery. */
-   ART_GALLERY("art_gallery"),
- 
-   /** A lawyer. */
-   LAWYER("lawyer"),
- 
-   /** A restaurant. */
-   RESTAURANT("restaurant"),
- 
-   /** A bar. */
-   BAR("bar"),
- 
-   /** A take-away meal establishment. */
-   MEAL_TAKEAWAY("meal_takeaway"),
- 
-   /** A clothing store. */
-   CLOTHING_STORE("clothing_store"),
- 
-   /** A local government office. */
-   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
- 
-   /** A finance establishment. */
-   FINANCE("finance"),
- 
-   /** A moving company. */
-   MOVING_COMPANY("moving_company"),
- 
-   /** A storage establishment. */
-   STORAGE("storage"),
- 
-   /** A cafe. */
-   CAFE("cafe"),
- 
-   /** A car repair establishment. */
-   CAR_REPAIR("car_repair"),
- 
-   /** A health service provider. */
-   HEALTH("health"),
- 
-   /** An insurance agency. */
-   INSURANCE_AGENCY("insurance_agency"),
- 
-   /** A painter. */
-   PAINTER("painter"),
- 
-   /** An archipelago. */
-   ARCHIPELAGO("archipelago"),
- 
-   /** A museum. */
-   MUSEUM("museum"),
- 
-   /** A campground. */
-   CAMPGROUND("campground"),
- 
-   /** An RV park. */
-   RV_PARK("rv_park"),
- 
-   /** A meal delivery establishment. */
-   MEAL_DELIVERY("meal_delivery"),
- 
-   /** A primary school. */
-   PRIMARY_SCHOOL("primary_school"),
- 
-   /** A secondary school. */
-   SECONDARY_SCHOOL("secondary_school"),
- 
-   /** A town square. */
-   TOWN_SQUARE("town_square"),
- 
-   /** Tourist Attraction */
-   TOURIST_ATTRACTION("tourist_attraction"),
- 
-   /** Plus code */
-   PLUS_CODE("plus_code"),
- 
-   /** DRUGSTORE */
-   DRUGSTORE("drugstore"),
- 
-   /**
-    * Indicates an unknown address component type returned by the server. The Java Client for Google
-    * Maps Services should be updated to support the new value.
-    */
-   UNKNOWN("unknown");
- 
-   private final String addressComponentType;
- 
-   AddressComponentType(final String addressComponentType) {
-     this.addressComponentType = addressComponentType;
-   }
- 
-   @Override
-   public String toString() {
-     return addressComponentType;
-   }
- 
-   public String toCanonicalLiteral() {
-     return toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-20.html b/CodeCoverageReport/ns-7/sources/source-20.html deleted file mode 100644 index 66765ea97..000000000 --- a/CodeCoverageReport/ns-7/sources/source-20.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - Coverage Report > Photo - - - - - - -
- - -

Coverage Summary for Class: Photo (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
Photo - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 16.7% - - - (1/6) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * Describes a photo available with a Search Result.
-  *
-  * <p>Please see <a href="https://developers.google.com/places/web-service/photos">Place Photos</a>
-  * for more details.
-  */
- public class Photo implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /** Used to identify the photo when you perform a Photo request. */
-   public String photoReference;
- 
-   /** The maximum height of the image. */
-   public int height;
- 
-   /** The maximum width of the image. */
-   public int width;
- 
-   /** Attributions about this listing which must be displayed to the user. */
-   public String[] htmlAttributions;
- 
-   @Override
-   public String toString() {
-     String str = String.format("[Photo %s (%d x %d)", photoReference, width, height);
-     if (htmlAttributions != null && htmlAttributions.length > 0) {
-       str = str + " " + htmlAttributions.length + " attributions";
-     }
-     str = str + "]";
-     return str;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-21.html b/CodeCoverageReport/ns-7/sources/source-21.html deleted file mode 100644 index 00080a529..000000000 --- a/CodeCoverageReport/ns-7/sources/source-21.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - Coverage Report > PlaceAutocompleteType - - - - - - -
- - -

Coverage Summary for Class: PlaceAutocompleteType (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
PlaceAutocompleteType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 100% - - - (11/11) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin;
- 
- /**
-  * Used by the Places API to restrict the autocomplete results to places matching the specified
-  * type.
-  */
- public enum PlaceAutocompleteType implements StringJoin.UrlValue {
-   GEOCODE("geocode"),
-   ADDRESS("address"),
-   ESTABLISHMENT("establishment"),
-   REGIONS("(regions)"),
-   CITIES("(cities)");
- 
-   PlaceAutocompleteType(final String placeType) {
-     this.placeType = placeType;
-   }
- 
-   private final String placeType;
- 
-   @Override
-   public String toUrlValue() {
-     return placeType;
-   }
- 
-   @Override
-   public String toString() {
-     return placeType;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-22.html b/CodeCoverageReport/ns-7/sources/source-22.html deleted file mode 100644 index ad808eefd..000000000 --- a/CodeCoverageReport/ns-7/sources/source-22.html +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - - Coverage Report > PlaceDetails - - - - - - -
- - -

Coverage Summary for Class: PlaceDetails (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
PlaceDetails - - 100% - - - (2/2) - - - - 71.6% - - - (53/74) - - - - 79.7% - - - (59/74) - -
PlaceDetails$AlternatePlaceIds - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
PlaceDetails$Review - - 100% - - - (1/1) - - - - 100% - - - (1/1) - -
PlaceDetails$Review$AspectRating - - 0% - - - (0/1) - - - - 0% - - - (0/1) - -
PlaceDetails$Review$AspectRating$RatingType - - 100% - - - (1/1) - - - - 100% - - - (10/10) - -
Total - - 57.1% - - - (4/7) - - - - 71.6% - - - (53/74) - - - - 79.5% - - - (70/88) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.net.URL;
- import java.time.Instant;
- import java.util.Arrays;
- 
- /**
-  * The result of a Place Details request. A Place Details request returns more comprehensive
-  * information about the indicated place such as its complete address, phone number, user rating,
-  * and reviews.
-  *
-  * <p>See <a href= "https://developers.google.com/places/web-service/details#PlaceDetailsResults">
-  * Place Details Results</a> for more detail.
-  */
- public class PlaceDetails implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** A list of separate address components that comprise the address of this place. */
-   public AddressComponent[] addressComponents;
- 
-   /** A representation of the place's address in the adr microformat. */
-   public String adrAddress;
- 
-   /** The status of the business (i.e. operational, temporarily closed, etc.). */
-   public String businessStatus;
- 
-   /** Specifies if the business supports curbside pickup. */
-   public Boolean curbsidePickup;
- 
-   /**
-    * The hours of operation for the next seven days (including today). The time period starts at
-    * midnight on the date of the request and ends at 11:59 pm six days later. This field includes
-    * the special_days subfield of all hours, set for dates that have exceptional hours.
-    */
-   public OpeningHours currentOpeningHours;
- 
-   /** Specifies if the business supports delivery. */
-   public Boolean delivery;
- 
-   /** Specifies if the business supports indoor or outdoor seating options. */
-   public Boolean dineIn;
- 
-   /**
-    * Contains a summary of the place. A summary is comprised of a textual overview, and also
-    * includes the language code for these if applicable. Summary text must be presented as-is and
-    * can not be modified or altered.
-    */
-   public PlaceEditorialSummary editorialSummary;
- 
-   /** The human-readable address of this place. */
-   public String formattedAddress;
- 
-   /** The place's phone number in its local format. */
-   public String formattedPhoneNumber;
- 
-   /** The location of the Place. */
-   public Geometry geometry;
- 
-   /**
-    * The URL of a suggested icon which may be displayed to the user when indicating this result on a
-    * map.
-    */
-   public URL icon;
- 
-   /**
-    * The place's phone number in international format. International format includes the country
-    * code, and is prefixed with the plus (+) sign.
-    */
-   public String internationalPhoneNumber;
- 
-   /** The human-readable name for the returned result. */
-   public String name;
- 
-   /** The regular hours of operation. */
-   public OpeningHours openingHours;
- 
-   /** Whether the place has permanently closed. */
-   @Deprecated public boolean permanentlyClosed;
- 
-   /** A list of photos associated with this place, each containing a reference to an image. */
-   public Photo[] photos;
- 
-   /** A textual identifier that uniquely identifies this place. */
-   public String placeId;
- 
-   /** The scope of the placeId. */
-   @Deprecated public PlaceIdScope scope;
- 
-   /** The Plus Code location identifier for this place. */
-   public PlusCode plusCode;
- 
-   /**
-    * The price level of the place. The exact amount indicated by a specific value will vary from
-    * region to region.
-    */
-   public PriceLevel priceLevel;
- 
-   @Deprecated
-   public static class AlternatePlaceIds implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     /**
-      * The alternative placeId. The most likely reason for a place to have an alternative place ID
-      * is if your application adds a place and receives an application-scoped place ID, then later
-      * receives a Google-scoped place ID after passing the moderation process.
-      */
-     public String placeId;
- 
-     /**
-      * The scope of an alternative place ID will always be APP, indicating that the alternative
-      * place ID is recognised by your application only.
-      */
-     @Deprecated public PlaceIdScope scope;
- 
-     @Override
-     public String toString() {
-       return String.format("%s (%s)", placeId, scope);
-     }
-   }
- 
-   /**
-    * An optional array of alternative place IDs for the place, with a scope related to each
-    * alternative ID.
-    */
-   @Deprecated public AlternatePlaceIds[] altIds;
- 
-   /** The place's rating, from 1.0 to 5.0, based on aggregated user reviews. */
-   public float rating;
- 
-   public static class Review implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     public static class AspectRating implements Serializable {
- 
-       private static final long serialVersionUID = 1L;
- 
-       public enum RatingType {
-         APPEAL,
-         ATMOSPHERE,
-         DECOR,
-         FACILITIES,
-         FOOD,
-         OVERALL,
-         QUALITY,
-         SERVICE,
- 
-         /**
-          * Indicates an unknown rating type returned by the server. The Java Client for Google Maps
-          * Services should be updated to support the new value.
-          */
-         UNKNOWN
-       }
- 
-       /** The name of the aspect that is being rated. */
-       public RatingType type;
- 
-       /** The user's rating for this particular aspect, from 0 to 3. */
-       public int rating;
-     }
- 
-     /**
-      * A list of AspectRating objects, each of which provides a rating of a single attribute of the
-      * establishment.
-      *
-      * <p>Note: this is a <a href=
-      * "https://developers.google.com/places/web-service/details#PremiumData">Premium Data</a> field
-      * available to the Google Places API for Work customers.
-      */
-     public AspectRating[] aspects;
- 
-     /**
-      * The name of the user who submitted the review. Anonymous reviews are attributed to "A Google
-      * user".
-      */
-     public String authorName;
- 
-     /** The URL of the user's Google+ profile, if available. */
-     public URL authorUrl;
- 
-     /** An IETF language code indicating the language used in the user's review. */
-     public String language;
- 
-     /** The URL of the user's Google+ profile photo, if available. */
-     public String profilePhotoUrl;
- 
-     /** The user's overall rating for this place. This is a whole number, ranging from 1 to 5. */
-     public int rating;
- 
-     /** The relative time that the review was submitted. */
-     public String relativeTimeDescription;
- 
-     /**
-      * The user's review. When reviewing a location with Google Places, text reviews are considered
-      * optional.
-      */
-     public String text;
- 
-     /** The time that the review was submitted. */
-     public Instant time;
-   }
- 
-   /** Specifies if the place supports reservations. */
-   public Boolean reservable;
- 
-   /**
-    * An array of up to five reviews. If a language parameter was specified in the Place Details
-    * request, the Places Service will bias the results to prefer reviews written in that language.
-    */
-   public Review[] reviews;
- 
-   /**
-    * Contains an array of entries for the next seven days including information about secondary
-    * hours of a business. Secondary hours are different from a business's main hours. For example, a
-    * restaurant can specify drive through hours or delivery hours as its secondary hours. This field
-    * populates the type subfield, which draws from a predefined list of opening hours types (such as
-    * DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. This field includes the
-    * special_days subfield of all hours, set for dates that have exceptional hours.
-    */
-   public OpeningHours secondaryOpeningHours;
- 
-   /** Specifies if the place serves beer. */
-   public Boolean servesBeer;
- 
-   /** Specifies if the place serves breakfast. */
-   public Boolean servesBreakfast;
- 
-   /** Specifies if the place serves brunch. */
-   public Boolean servesBrunch;
- 
-   /** Specifies if the place serves dinner. */
-   public Boolean servesDinner;
- 
-   /** Specifies if the place serves lunch. */
-   public Boolean servesLunch;
- 
-   /** Specifies if the place serves vegetarian food. */
-   public Boolean servesVegetarianFood;
- 
-   /** Specifies if the place serves wine. */
-   public Boolean servesWine;
- 
-   /** Specifies if the business supports takeout. */
-   public Boolean takeout;
- 
-   /** Feature types describing the given result. */
-   public AddressType[] types;
- 
-   /**
-    * The URL of the official Google page for this place. This will be the establishment's Google+
-    * page if the Google+ page exists, otherwise it will be the Google-owned page that contains the
-    * best available information about the place. Applications must link to or embed this page on any
-    * screen that shows detailed results about the place to the user.
-    */
-   public URL url;
- 
-   /** The number of user reviews for this place */
-   public int userRatingsTotal;
- 
-   /** The number of minutes this places current timezone is offset from UTC. */
-   public int utcOffset;
- 
-   /**
-    * A simplified address for the place, including the street name, street number, and locality, but
-    * not the province/state, postal code, or country.
-    */
-   public String vicinity;
- 
-   /** The authoritative website for this place, such as a business's homepage. */
-   public URL website;
- 
-   /** Specifies if the place has an entrance that is wheelchair-accessible. */
-   public Boolean wheelchairAccessibleEntrance;
- 
-   /** Attributions about this listing which must be displayed to the user. */
-   public String[] htmlAttributions;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[PlaceDetails: ");
-     sb.append("\"").append(name).append("\"");
-     sb.append(" ").append(placeId).append(" (").append(scope).append(")");
-     sb.append(" address=\"").append(formattedAddress).append("\"");
-     if (businessStatus != null) {
-       sb.append("businessStatus=").append(businessStatus);
-     }
-     if (curbsidePickup != null) {
-       sb.append(", curbsidePickup=").append(curbsidePickup);
-     }
-     if (currentOpeningHours != null) {
-       sb.append(", currentOpeningHours=").append(currentOpeningHours);
-     }
-     if (delivery != null) {
-       sb.append(", delivery=").append(delivery);
-     }
-     if (dineIn != null) {
-       sb.append(", dineIn=").append(dineIn);
-     }
-     if (editorialSummary != null) {
-       sb.append(", editorialSummary=").append(editorialSummary);
-     }
-     sb.append(", geometry=").append(geometry);
-     if (vicinity != null) {
-       sb.append(", vicinity=").append(vicinity);
-     }
-     if (types != null && types.length > 0) {
-       sb.append(", types=").append(Arrays.toString(types));
-     }
-     if (altIds != null && altIds.length > 0) {
-       sb.append(", altIds=").append(Arrays.toString(altIds));
-     }
-     if (formattedPhoneNumber != null) {
-       sb.append(", phone=").append(formattedPhoneNumber);
-     }
-     if (internationalPhoneNumber != null) {
-       sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber);
-     }
-     if (url != null) {
-       sb.append(", url=").append(url);
-     }
-     if (website != null) {
-       sb.append(", website=").append(website);
-     }
-     if (icon != null) {
-       sb.append(", icon");
-     }
-     if (openingHours != null) {
-       sb.append(", openingHours");
-       sb.append(", utcOffset=").append(utcOffset);
-     }
-     if (priceLevel != null) {
-       sb.append(", priceLevel=").append(priceLevel);
-     }
-     sb.append(", rating=").append(rating);
-     if (permanentlyClosed) {
-       sb.append(", permanentlyClosed");
-     }
-     if (userRatingsTotal > 0) {
-       sb.append(", userRatingsTotal=").append(userRatingsTotal);
-     }
-     if (photos != null && photos.length > 0) {
-       sb.append(", ").append(photos.length).append(" photos");
-     }
-     if (reservable != null) {
-       sb.append(", reservable=").append(reservable);
-     }
-     if (reviews != null && reviews.length > 0) {
-       sb.append(", ").append(reviews.length).append(" reviews");
-     }
-     if (secondaryOpeningHours != null) {
-       sb.append(", secondaryOpeningHours=").append(secondaryOpeningHours);
-     }
-     if (servesBeer != null) {
-       sb.append(", servesBeer=").append(servesBeer);
-     }
-     if (servesBreakfast != null) {
-       sb.append(", servesBreakfast=").append(servesBreakfast);
-     }
-     if (servesBrunch != null) {
-       sb.append(", servesBrunch=").append(servesBrunch);
-     }
-     if (servesDinner != null) {
-       sb.append(", servesDinner=").append(servesDinner);
-     }
-     if (servesLunch != null) {
-       sb.append(", servesLunch=").append(servesLunch);
-     }
-     if (servesVegetarianFood != null) {
-       sb.append(", servesVegetarianFood=").append(servesVegetarianFood);
-     }
-     if (servesWine != null) {
-       sb.append(", servesWine=").append(servesWine);
-     }
-     if (takeout != null) {
-       sb.append(", takeout=").append(takeout);
-     }
-     if (wheelchairAccessibleEntrance != null) {
-       sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance);
-     }
-     if (htmlAttributions != null && htmlAttributions.length > 0) {
-       sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions");
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-23.html b/CodeCoverageReport/ns-7/sources/source-23.html deleted file mode 100644 index 42e8ede11..000000000 --- a/CodeCoverageReport/ns-7/sources/source-23.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - Coverage Report > PlaceEditorialSummary - - - - - - -
- - -

Coverage Summary for Class: PlaceEditorialSummary (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PlaceEditorialSummary - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/8) - -
- -
-
- - -
- /*
-  * Copyright 2023 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * Contains a summary of the place. A summary is comprised of a textual overview, and also includes
-  * the language code for these if applicable. Summary text must be presented as-is and can not be
-  * modified or altered.
-  */
- public class PlaceEditorialSummary implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The language of the previous fields. May not always be present. */
-   public String language;
- 
-   /** A medium-length textual summary of the place. */
-   public String overview;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[EditorialSummary: ");
-     if (language != null) {
-       sb.append("language=").append(language).append(", ");
-     }
-     if (overview != null) {
-       sb.append("overview=").append(overview);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-24.html b/CodeCoverageReport/ns-7/sources/source-24.html deleted file mode 100644 index ff4d7355a..000000000 --- a/CodeCoverageReport/ns-7/sources/source-24.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - Coverage Report > PlaceIdScope - - - - - - -
- - -

Coverage Summary for Class: PlaceIdScope (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
PlaceIdScope - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (3/3) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- /** The scope of a Place ID returned from the Google Places API Web Service. */
- @Deprecated
- public enum PlaceIdScope {
-   /**
-    * Indicates the place ID is recognised by your application only. This is because your application
-    * added the place, and the place has not yet passed the moderation process.
-    */
-   APP,
-   /** Indicates the place ID is available to other applications and on Google Maps. */
-   GOOGLE
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-25.html b/CodeCoverageReport/ns-7/sources/source-25.html deleted file mode 100644 index b86386d65..000000000 --- a/CodeCoverageReport/ns-7/sources/source-25.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - Coverage Report > PlaceType - - - - - - -
- - -

Coverage Summary for Class: PlaceType (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
PlaceType - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 100% - - - (109/109) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin;
- 
- /** Used by the Places API to restrict the results to places matching the specified type. */
- public enum PlaceType implements StringJoin.UrlValue {
-   ACCOUNTING("accounting"),
-   AIRPORT("airport"),
-   AMUSEMENT_PARK("amusement_park"),
-   AQUARIUM("aquarium"),
-   ART_GALLERY("art_gallery"),
-   ATM("atm"),
-   BAKERY("bakery"),
-   BANK("bank"),
-   BAR("bar"),
-   BEAUTY_SALON("beauty_salon"),
-   BICYCLE_STORE("bicycle_store"),
-   BOOK_STORE("book_store"),
-   BOWLING_ALLEY("bowling_alley"),
-   BUS_STATION("bus_station"),
-   CAFE("cafe"),
-   CAMPGROUND("campground"),
-   CAR_DEALER("car_dealer"),
-   CAR_RENTAL("car_rental"),
-   CAR_REPAIR("car_repair"),
-   CAR_WASH("car_wash"),
-   CASINO("casino"),
-   CEMETERY("cemetery"),
-   CHURCH("church"),
-   CITY_HALL("city_hall"),
-   CLOTHING_STORE("clothing_store"),
-   CONVENIENCE_STORE("convenience_store"),
-   COURTHOUSE("courthouse"),
-   DENTIST("dentist"),
-   DEPARTMENT_STORE("department_store"),
-   DOCTOR("doctor"),
-   DRUGSTORE("drugstore"),
-   ELECTRICIAN("electrician"),
-   ELECTRONICS_STORE("electronics_store"),
-   EMBASSY("embassy"),
-   @Deprecated
-   ESTABLISHMENT("establishment"),
-   @Deprecated
-   FINANCE("finance"),
-   FIRE_STATION("fire_station"),
-   FLORIST("florist"),
-   @Deprecated
-   FOOD("food"),
-   FUNERAL_HOME("funeral_home"),
-   FURNITURE_STORE("furniture_store"),
-   GAS_STATION("gas_station"),
-   @Deprecated
-   GENERAL_CONTRACTOR("general_contractor"),
-   GROCERY_OR_SUPERMARKET("grocery_or_supermarket"),
-   GYM("gym"),
-   HAIR_CARE("hair_care"),
-   HARDWARE_STORE("hardware_store"),
-   @Deprecated
-   HEALTH("health"),
-   HINDU_TEMPLE("hindu_temple"),
-   HOME_GOODS_STORE("home_goods_store"),
-   HOSPITAL("hospital"),
-   INSURANCE_AGENCY("insurance_agency"),
-   JEWELRY_STORE("jewelry_store"),
-   LAUNDRY("laundry"),
-   LAWYER("lawyer"),
-   LIBRARY("library"),
-   LIGHT_RAIL_STATION("light_rail_station"),
-   LIQUOR_STORE("liquor_store"),
-   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
-   LOCKSMITH("locksmith"),
-   LODGING("lodging"),
-   MEAL_DELIVERY("meal_delivery"),
-   MEAL_TAKEAWAY("meal_takeaway"),
-   MOSQUE("mosque"),
-   MOVIE_RENTAL("movie_rental"),
-   MOVIE_THEATER("movie_theater"),
-   MOVING_COMPANY("moving_company"),
-   MUSEUM("museum"),
-   NIGHT_CLUB("night_club"),
-   PAINTER("painter"),
-   PARK("park"),
-   PARKING("parking"),
-   PET_STORE("pet_store"),
-   PHARMACY("pharmacy"),
-   PHYSIOTHERAPIST("physiotherapist"),
-   @Deprecated
-   PLACE_OF_WORSHIP("place_of_worship"),
-   PLUMBER("plumber"),
-   POLICE("police"),
-   POST_OFFICE("post_office"),
-   PRIMARY_SCHOOL("primary_school"),
-   REAL_ESTATE_AGENCY("real_estate_agency"),
-   RESTAURANT("restaurant"),
-   ROOFING_CONTRACTOR("roofing_contractor"),
-   RV_PARK("rv_park"),
-   SCHOOL("school"),
-   SECONDARY_SCHOOL("secondary_school"),
-   SHOE_STORE("shoe_store"),
-   SHOPPING_MALL("shopping_mall"),
-   SPA("spa"),
-   STADIUM("stadium"),
-   STORAGE("storage"),
-   STORE("store"),
-   SUBWAY_STATION("subway_station"),
-   SUPERMARKET("supermarket"),
-   SYNAGOGUE("synagogue"),
-   TAXI_STAND("taxi_stand"),
-   TOURIST_ATTRACTION("tourist_attraction"),
-   TRAIN_STATION("train_station"),
-   TRANSIT_STATION("transit_station"),
-   TRAVEL_AGENCY("travel_agency"),
-   UNIVERSITY("university"),
-   VETERINARY_CARE("veterinary_care"),
-   ZOO("zoo");
- 
-   PlaceType(final String placeType) {
-     this.placeType = placeType;
-   }
- 
-   private final String placeType;
- 
-   @Override
-   public String toUrlValue() {
-     return placeType;
-   }
- 
-   @Override
-   public String toString() {
-     return placeType;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-26.html b/CodeCoverageReport/ns-7/sources/source-26.html deleted file mode 100644 index 67b3ae958..000000000 --- a/CodeCoverageReport/ns-7/sources/source-26.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - Coverage Report > PlacesSearchResponse - - - - - - -
- - -

Coverage Summary for Class: PlacesSearchResponse (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PlacesSearchResponse - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 66.7% - - - (4/6) - - - - 88.9% - - - (8/9) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * The response from a Places Search request.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/places/web-service/search#PlaceSearchResponses">Places Search
-  * Response</a> for more detail.
-  */
- public class PlacesSearchResponse implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The list of Search Results. */
-   public PlacesSearchResult results[];
- 
-   /** Attributions about this listing which must be displayed to the user. */
-   public String htmlAttributions[];
- 
-   /**
-    * A token that can be used to request up to 20 additional results. This field will be null if
-    * there are no further results. The maximum number of results that can be returned is 60.
-    *
-    * <p>Note: There is a short delay between when this response is issued, and when nextPageToken
-    * will become valid to execute.
-    */
-   public String nextPageToken;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[PlacesSearchResponse: ");
-     sb.append(results.length).append(" results");
-     if (nextPageToken != null) {
-       sb.append(", nextPageToken=").append(nextPageToken);
-     }
-     if (htmlAttributions != null && htmlAttributions.length > 0) {
-       sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions");
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-27.html b/CodeCoverageReport/ns-7/sources/source-27.html deleted file mode 100644 index 427ee9279..000000000 --- a/CodeCoverageReport/ns-7/sources/source-27.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - Coverage Report > PlacesSearchResult - - - - - - -
- - -

Coverage Summary for Class: PlacesSearchResult (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PlacesSearchResult - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/20) - - - - 4% - - - (1/25) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.net.URL;
- import java.util.Arrays;
- 
- /**
-  * A single result in the search results returned from the Google Places API Web Service.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/places/web-service/search#PlaceSearchResults">Place Search
-  * Results</a> for more detail.
-  */
- public class PlacesSearchResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The human-readable address of this place. */
-   public String formattedAddress;
- 
-   /**
-    * Geometry information about the result, generally including the location (geocode) of the place
-    * and (optionally) the viewport identifying its general area of coverage.
-    */
-   public Geometry geometry;
- 
-   /**
-    * The human-readable name for the returned result. For establishment results, this is usually the
-    * business name.
-    */
-   public String name;
- 
-   /**
-    * The URL of a recommended icon which may be displayed to the user when indicating this result.
-    */
-   public URL icon;
- 
-   /** A textual identifier that uniquely identifies a place. */
-   public String placeId;
- 
-   /** The scope of the placeId. */
-   @Deprecated public PlaceIdScope scope;
- 
-   /** The place's rating, from 1.0 to 5.0, based on aggregated user reviews. */
-   public float rating;
- 
-   /** Feature types describing the given result. */
-   public String types[];
- 
-   /** Information on when the place is open. */
-   public OpeningHours openingHours;
- 
-   /** Photo objects associated with this place, each containing a reference to an image. */
-   public Photo photos[];
- 
-   /** A feature name of a nearby location. */
-   public String vicinity;
- 
-   /** Indicates that the place has permanently shut down. */
-   public boolean permanentlyClosed;
- 
-   /** The number of user reviews for this place */
-   public int userRatingsTotal;
- 
-   /** The status of the business (i.e. operational, temporarily closed, etc.). */
-   public String businessStatus;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[PlacesSearchResult: ");
-     sb.append("\"").append(name).append("\"");
-     sb.append(", \"").append(formattedAddress).append("\"");
-     sb.append(", geometry=").append(geometry);
-     sb.append(", placeId=").append(placeId);
-     if (vicinity != null) {
-       sb.append(", vicinity=").append(vicinity);
-     }
-     if (types != null && types.length > 0) {
-       sb.append(", types=").append(Arrays.toString(types));
-     }
-     sb.append(", rating=").append(rating);
-     if (icon != null) {
-       sb.append(", icon");
-     }
-     if (openingHours != null) {
-       sb.append(", openingHours");
-     }
-     if (photos != null && photos.length > 0) {
-       sb.append(", ").append(photos.length).append(" photos");
-     }
-     if (permanentlyClosed) {
-       sb.append(", permanentlyClosed");
-     }
-     if (userRatingsTotal > 0) {
-       sb.append(", userRatingsTotal=").append(userRatingsTotal);
-     }
-     if (businessStatus != null) {
-       sb.append(", businessStatus=").append(businessStatus);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-28.html b/CodeCoverageReport/ns-7/sources/source-28.html deleted file mode 100644 index d7d3e333f..000000000 --- a/CodeCoverageReport/ns-7/sources/source-28.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - Coverage Report > PlusCode - - - - - - -
- - -

Coverage Summary for Class: PlusCode (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PlusCode - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/2) - - - - 14.3% - - - (1/7) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** A Plus Code encoded location reference. */
- public class PlusCode implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The global Plus Code identifier. */
-   public String globalCode;
- 
-   /** The compound Plus Code identifier. May be null for locations in remote areas. */
-   public String compoundCode;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[PlusCode: ");
-     sb.append(globalCode);
-     if (compoundCode != null) {
-       sb.append(", compoundCode=").append(compoundCode);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-29.html b/CodeCoverageReport/ns-7/sources/source-29.html deleted file mode 100644 index 07fc50c37..000000000 --- a/CodeCoverageReport/ns-7/sources/source-29.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - Coverage Report > PriceLevel - - - - - - -
- - -

Coverage Summary for Class: PriceLevel (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
PriceLevel - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 50% - - - (1/2) - - - - 92.9% - - - (13/14) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin;
- 
- /** Used by Places API to restrict search results to those within a given price range. */
- public enum PriceLevel implements StringJoin.UrlValue {
-   FREE("0"),
-   INEXPENSIVE("1"),
-   MODERATE("2"),
-   EXPENSIVE("3"),
-   VERY_EXPENSIVE("4"),
- 
-   /**
-    * Indicates an unknown price level type returned by the server. The Java Client for Google Maps
-    * Services should be updated to support the new value.
-    */
-   UNKNOWN("Unknown");
- 
-   private final String priceLevel;
- 
-   PriceLevel(final String priceLevel) {
-     this.priceLevel = priceLevel;
-   }
- 
-   @Override
-   public String toString() {
-     return priceLevel;
-   }
- 
-   @Override
-   public String toUrlValue() {
-     if (this == UNKNOWN) {
-       throw new UnsupportedOperationException("Shouldn't use PriceLevel.UNKNOWN in a request.");
-     }
-     return priceLevel;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2a.html b/CodeCoverageReport/ns-7/sources/source-2a.html deleted file mode 100644 index 2ce95d54d..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2a.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - Coverage Report > RankBy - - - - - - -
- - -

Coverage Summary for Class: RankBy (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
RankBy - - 100% - - - (1/1) - - - - 100% - - - (4/4) - - - - 100% - - - (8/8) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin;
- 
- /** Used by the Places API to specify the order in which results are listed. */
- public enum RankBy implements StringJoin.UrlValue {
-   PROMINENCE("prominence"),
-   DISTANCE("distance");
- 
-   private final String ranking;
- 
-   RankBy(String ranking) {
-     this.ranking = ranking;
-   }
- 
-   @Override
-   public String toString() {
-     return ranking;
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return ranking;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2b.html b/CodeCoverageReport/ns-7/sources/source-2b.html deleted file mode 100644 index 1067a7a9b..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2b.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - Coverage Report > Size - - - - - - -
- - -

Coverage Summary for Class: Size (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Size - - 100% - - - (1/1) - - - - 50% - - - (2/4) - - - - 71.4% - - - (5/7) - -
- -
-
- - -
- /*
-  * Copyright 2018 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin;
- import java.io.Serializable;
- 
- public class Size implements StringJoin.UrlValue, Serializable {
-   private static final long serialVersionUID = 1L;
- 
-   /** The width of this Size. */
-   public int width;
- 
-   /** The height of this Size. */
-   public int height;
- 
-   /**
-    * Constructs a Size with a height/width pair.
-    *
-    * @param height The height of this Size.
-    * @param width The width of this Size.
-    */
-   public Size(int width, int height) {
-     this.width = width;
-     this.height = height;
-   }
- 
-   /** Serialization constructor. */
-   public Size() {}
- 
-   @Override
-   public String toString() {
-     return toUrlValue();
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return String.format("%dx%d", width, height);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2c.html b/CodeCoverageReport/ns-7/sources/source-2c.html deleted file mode 100644 index e91fc892f..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2c.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - Coverage Report > SnappedPoint - - - - - - -
- - -

Coverage Summary for Class: SnappedPoint (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
SnappedPoint - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (3/3) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** A point that has been snapped to a road by the Roads API. */
- public class SnappedPoint implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /** A latitude/longitude value representing the snapped location. */
-   public LatLng location;
- 
-   /**
-    * The index of the corresponding value in the original request. Each value in the request should
-    * map to a snapped value in the response. However, if you've set interpolate=true, then it's
-    * possible that the response will contain more coordinates than the request. Interpolated values
-    * will not have an originalIndex. These values are indexed from 0, so a point with an
-    * originalIndex of 4 will be the snapped value of the 5th lat/lng passed to the path parameter.
-    *
-    * <p>A point that was not on the original path, or when interpolate=false, will have an
-    * originalIndex of -1.
-    */
-   public int originalIndex = -1;
- 
-   /**
-    * A unique identifier for a place. All placeIds returned by the Roads API will correspond to road
-    * segments. The placeId can be passed to the speedLimit method to determine the speed limit along
-    * that road segment.
-    */
-   public String placeId;
- 
-   @Override
-   public String toString() {
-     return String.format("[%s, placeId=%s, originalIndex=%s]", location, placeId, originalIndex);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2d.html b/CodeCoverageReport/ns-7/sources/source-2d.html deleted file mode 100644 index 30bac0acf..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2d.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - Coverage Report > SnappedSpeedLimitResult - - - - - - -
- - -

Coverage Summary for Class: SnappedSpeedLimitResult (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
SnappedSpeedLimitResult - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (4/8) - - - - 100% - - - (8/8) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** A combined snap-to-roads and speed limit response. */
- public class SnappedSpeedLimitResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** Speed limit results. */
-   public SpeedLimit[] speedLimits;
- 
-   /** Snap-to-road results. */
-   public SnappedPoint[] snappedPoints;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[SnappedSpeedLimitResponse:");
-     if (speedLimits != null && speedLimits.length > 0) {
-       sb.append(" ").append(speedLimits.length).append(" speedLimits");
-     }
-     if (snappedPoints != null && snappedPoints.length > 0) {
-       sb.append(" ").append(snappedPoints.length).append(" speedLimits");
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2e.html b/CodeCoverageReport/ns-7/sources/source-2e.html deleted file mode 100644 index 49d4dd289..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2e.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - Coverage Report > SpeedLimit - - - - - - -
- - -

Coverage Summary for Class: SpeedLimit (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
SpeedLimit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 66.7% - - - (2/3) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** A speed limit result from the Roads API. */
- public class SpeedLimit implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /**
-    * A unique identifier for a place. All placeIds returned by the Roads API will correspond to road
-    * segments.
-    */
-   public String placeId;
- 
-   /**
-    * The speed limit for that road segment, specified in kilometers per hour.
-    *
-    * <p>To obtain the speed in miles per hour, use {@link #speedLimitMph()}.
-    */
-   public double speedLimit;
- 
-   /** @return Returns the speed limit in miles per hour (MPH). */
-   public long speedLimitMph() {
-     return Math.round(speedLimit * 0.621371);
-   }
- 
-   @Override
-   public String toString() {
-     return String.format("[%.0f km/h, placeId=%s]", speedLimit, placeId);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-2f.html b/CodeCoverageReport/ns-7/sources/source-2f.html deleted file mode 100644 index 5f1858e02..000000000 --- a/CodeCoverageReport/ns-7/sources/source-2f.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - Coverage Report > StopDetails - - - - - - -
- - -

Coverage Summary for Class: StopDetails (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
StopDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * The stop/station.
-  *
-  * <p>See <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-  * details</a> for more detail.
-  */
- public class StopDetails implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The name of the transit station/stop. E.g. {@code "Union Square"}. */
-   public String name;
- 
-   /** The location of the transit station/stop. */
-   public LatLng location;
- 
-   @Override
-   public String toString() {
-     return String.format("%s (%s)", name, location);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-3.html b/CodeCoverageReport/ns-7/sources/source-3.html deleted file mode 100644 index f843933d9..000000000 --- a/CodeCoverageReport/ns-7/sources/source-3.html +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - - Coverage Report > AddressType - - - - - - -
- - -

Coverage Summary for Class: AddressType (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
AddressType - - 100% - - - (1/1) - - - - 100% - - - (5/5) - - - - 100% - - - (2/2) - - - - 100% - - - (149/149) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- 
- /**
-  * The Address types. Please see <a
-  * href="https://developers.google.com/maps/documentation/geocoding/intro#Types">Address Types and
-  * Address Component Types</a> for more detail. Some addresses contain additional place categories.
-  * Please see <a href="https://developers.google.com/places/supported_types">Place Types</a> for
-  * more detail.
-  */
- public enum AddressType implements UrlValue {
- 
-   /** A precise street address. */
-   STREET_ADDRESS("street_address"),
- 
-   /** A precise street number. */
-   STREET_NUMBER("street_number"),
- 
-   /** The floor in the address of the building. */
-   FLOOR("floor"),
- 
-   /** The room in the address of the building */
-   ROOM("room"),
- 
-   /** A specific mailbox. */
-   POST_BOX("post_box"),
- 
-   /** A named route (such as "US 101"). */
-   ROUTE("route"),
- 
-   /** A major intersection, usually of two major roads. */
-   INTERSECTION("intersection"),
- 
-   /** A continent. */
-   CONTINENT("continent"),
- 
-   /** A political entity. Usually, this type indicates a polygon of some civil administration. */
-   POLITICAL("political"),
- 
-   /** The national political entity, typically the highest order type returned by the Geocoder. */
-   COUNTRY("country"),
- 
-   /**
-    * A first-order civil entity below the country level. Within the United States, these
-    * administrative levels are states. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_1("administrative_area_level_1"),
- 
-   /**
-    * A second-order civil entity below the country level. Within the United States, these
-    * administrative levels are counties. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_2("administrative_area_level_2"),
- 
-   /**
-    * A third-order civil entity below the country level. This type indicates a minor civil division.
-    * Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_3("administrative_area_level_3"),
- 
-   /**
-    * A fourth-order civil entity below the country level. This type indicates a minor civil
-    * division. Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_4("administrative_area_level_4"),
- 
-   /**
-    * A fifth-order civil entity below the country level. This type indicates a minor civil division.
-    * Not all nations exhibit these administrative levels.
-    */
-   ADMINISTRATIVE_AREA_LEVEL_5("administrative_area_level_5"),
- 
-   /** A commonly-used alternative name for the entity. */
-   COLLOQUIAL_AREA("colloquial_area"),
- 
-   /** An incorporated city or town political entity. */
-   LOCALITY("locality"),
- 
-   /**
-    * A specific type of Japanese locality, used to facilitate distinction between multiple locality
-    * components within a Japanese address.
-    */
-   WARD("ward"),
- 
-   /**
-    * A first-order civil entity below a locality. Some locations may receive one of the additional
-    * types: {@code SUBLOCALITY_LEVEL_1} to {@code SUBLOCALITY_LEVEL_5}. Each sublocality level is a
-    * civil entity. Larger numbers indicate a smaller geographic area.
-    */
-   SUBLOCALITY("sublocality"),
-   SUBLOCALITY_LEVEL_1("sublocality_level_1"),
-   SUBLOCALITY_LEVEL_2("sublocality_level_2"),
-   SUBLOCALITY_LEVEL_3("sublocality_level_3"),
-   SUBLOCALITY_LEVEL_4("sublocality_level_4"),
-   SUBLOCALITY_LEVEL_5("sublocality_level_5"),
- 
-   /** A named neighborhood. */
-   NEIGHBORHOOD("neighborhood"),
- 
-   /** A named location, usually a building or collection of buildings with a common name. */
-   PREMISE("premise"),
- 
-   /**
-    * A first-order entity below a named location, usually a singular building within a collection of
-    * buildings with a common name.
-    */
-   SUBPREMISE("subpremise"),
- 
-   /** A postal code as used to address postal mail within the country. */
-   POSTAL_CODE("postal_code"),
- 
-   /** A postal code prefix as used to address postal mail within the country. */
-   POSTAL_CODE_PREFIX("postal_code_prefix"),
- 
-   /** A postal code prefix as used to address postal mail within the country. */
-   POSTAL_CODE_SUFFIX("postal_code_suffix"),
- 
-   /* Plus code */
-   PLUS_CODE("plus_code"),
- 
-   /** A prominent natural feature. */
-   NATURAL_FEATURE("natural_feature"),
- 
-   /** An airport. */
-   AIRPORT("airport"),
- 
-   /** A university. */
-   UNIVERSITY("university"),
- 
-   /** A named park. */
-   PARK("park"),
- 
-   /** A museum. */
-   MUSEUM("museum"),
- 
-   /**
-    * A named point of interest. Typically, these "POI"s are prominent local entities that don't
-    * easily fit in another category, such as "Empire State Building" or "Statue of Liberty."
-    */
-   POINT_OF_INTEREST("point_of_interest"),
- 
-   /** A place that has not yet been categorized. */
-   ESTABLISHMENT("establishment"),
- 
-   /** The location of a bus stop. */
-   BUS_STATION("bus_station"),
- 
-   /** The location of a train station. */
-   TRAIN_STATION("train_station"),
- 
-   /** The location of a subway station. */
-   SUBWAY_STATION("subway_station"),
- 
-   /** The location of a transit station. */
-   TRANSIT_STATION("transit_station"),
- 
-   /** The location of a light rail station. */
-   LIGHT_RAIL_STATION("light_rail_station"),
- 
-   /** The location of a church. */
-   CHURCH("church"),
- 
-   /** The location of a primary school. */
-   PRIMARY_SCHOOL("primary_school"),
- 
-   /** The location of a secondary school. */
-   SECONDARY_SCHOOL("secondary_school"),
- 
-   /** The location of a finance institute. */
-   FINANCE("finance"),
- 
-   /** The location of a post office. */
-   POST_OFFICE("post_office"),
- 
-   /** The location of a place of worship. */
-   PLACE_OF_WORSHIP("place_of_worship"),
- 
-   /**
-    * A grouping of geographic areas, such as locality and sublocality, used for mailing addresses in
-    * some countries.
-    */
-   POSTAL_TOWN("postal_town"),
- 
-   /** Currently not a documented return type. */
-   SYNAGOGUE("synagogue"),
- 
-   /** Currently not a documented return type. */
-   FOOD("food"),
- 
-   /** Currently not a documented return type. */
-   GROCERY_OR_SUPERMARKET("grocery_or_supermarket"),
- 
-   /** Currently not a documented return type. */
-   STORE("store"),
- 
-   /** The location of a drugstore. */
-   DRUGSTORE("drugstore"),
- 
-   /** Currently not a documented return type. */
-   LAWYER("lawyer"),
- 
-   /** Currently not a documented return type. */
-   HEALTH("health"),
- 
-   /** Currently not a documented return type. */
-   INSURANCE_AGENCY("insurance_agency"),
- 
-   /** Currently not a documented return type. */
-   GAS_STATION("gas_station"),
- 
-   /** Currently not a documented return type. */
-   CAR_DEALER("car_dealer"),
- 
-   /** Currently not a documented return type. */
-   CAR_REPAIR("car_repair"),
- 
-   /** Currently not a documented return type. */
-   MEAL_TAKEAWAY("meal_takeaway"),
- 
-   /** Currently not a documented return type. */
-   FURNITURE_STORE("furniture_store"),
- 
-   /** Currently not a documented return type. */
-   HOME_GOODS_STORE("home_goods_store"),
- 
-   /** Currently not a documented return type. */
-   SHOPPING_MALL("shopping_mall"),
- 
-   /** Currently not a documented return type. */
-   GYM("gym"),
- 
-   /** Currently not a documented return type. */
-   ACCOUNTING("accounting"),
- 
-   /** Currently not a documented return type. */
-   MOVING_COMPANY("moving_company"),
- 
-   /** Currently not a documented return type. */
-   LODGING("lodging"),
- 
-   /** Currently not a documented return type. */
-   STORAGE("storage"),
- 
-   /** Currently not a documented return type. */
-   CASINO("casino"),
- 
-   /** Currently not a documented return type. */
-   PARKING("parking"),
- 
-   /** Currently not a documented return type. */
-   STADIUM("stadium"),
- 
-   /** Currently not a documented return type. */
-   TRAVEL_AGENCY("travel_agency"),
- 
-   /** Currently not a documented return type. */
-   NIGHT_CLUB("night_club"),
- 
-   /** Currently not a documented return type. */
-   BEAUTY_SALON("beauty_salon"),
- 
-   /** Currently not a documented return type. */
-   HAIR_CARE("hair_care"),
- 
-   /** Currently not a documented return type. */
-   SPA("spa"),
- 
-   /** Currently not a documented return type. */
-   SHOE_STORE("shoe_store"),
- 
-   /** Currently not a documented return type. */
-   BAKERY("bakery"),
- 
-   /** Currently not a documented return type. */
-   PHARMACY("pharmacy"),
- 
-   /** Currently not a documented return type. */
-   SCHOOL("school"),
- 
-   /** Currently not a documented return type. */
-   BOOK_STORE("book_store"),
- 
-   /** Currently not a documented return type. */
-   DEPARTMENT_STORE("department_store"),
- 
-   /** Currently not a documented return type. */
-   RESTAURANT("restaurant"),
- 
-   /** Currently not a documented return type. */
-   REAL_ESTATE_AGENCY("real_estate_agency"),
- 
-   /** Currently not a documented return type. */
-   BAR("bar"),
- 
-   /** Currently not a documented return type. */
-   DOCTOR("doctor"),
- 
-   /** Currently not a documented return type. */
-   HOSPITAL("hospital"),
- 
-   /** Currently not a documented return type. */
-   FIRE_STATION("fire_station"),
- 
-   /** Currently not a documented return type. */
-   SUPERMARKET("supermarket"),
- 
-   /** Currently not a documented return type. */
-   CITY_HALL("city_hall"),
- 
-   /** Currently not a documented return type. */
-   LOCAL_GOVERNMENT_OFFICE("local_government_office"),
- 
-   /** Currently not a documented return type. */
-   ATM("atm"),
- 
-   /** Currently not a documented return type. */
-   BANK("bank"),
- 
-   /** Currently not a documented return type. */
-   LIBRARY("library"),
- 
-   /** Currently not a documented return type. */
-   CAR_WASH("car_wash"),
- 
-   /** Currently not a documented return type. */
-   HARDWARE_STORE("hardware_store"),
- 
-   /** Currently not a documented return type. */
-   AMUSEMENT_PARK("amusement_park"),
- 
-   /** Currently not a documented return type. */
-   AQUARIUM("aquarium"),
- 
-   /** Currently not a documented return type. */
-   ART_GALLERY("art_gallery"),
- 
-   /** Currently not a documented return type. */
-   BICYCLE_STORE("bicycle_store"),
- 
-   /** Currently not a documented return type. */
-   BOWLING_ALLEY("bowling_alley"),
- 
-   /** Currently not a documented return type. */
-   CAFE("cafe"),
- 
-   /** Currently not a documented return type. */
-   CAMPGROUND("campground"),
- 
-   /** Currently not a documented return type. */
-   CAR_RENTAL("car_rental"),
- 
-   /** Currently not a documented return type. */
-   CEMETERY("cemetery"),
- 
-   /** Currently not a documented return type. */
-   CLOTHING_STORE("clothing_store"),
- 
-   /** Currently not a documented return type. */
-   CONVENIENCE_STORE("convenience_store"),
- 
-   /** Currently not a documented return type. */
-   COURTHOUSE("courthouse"),
- 
-   /** Currently not a documented return type. */
-   DENTIST("dentist"),
- 
-   /** Currently not a documented return type. */
-   ELECTRICIAN("electrician"),
- 
-   /** Currently not a documented return type. */
-   ELECTRONICS_STORE("electronics_store"),
- 
-   /** Currently not a documented return type. */
-   EMBASSY("embassy"),
- 
-   /** Currently not a documented return type. */
-   FLORIST("florist"),
- 
-   /** Currently not a documented return type. */
-   FUNERAL_HOME("funeral_home"),
- 
-   /** Currently not a documented return type. */
-   GENERAL_CONTRACTOR("general_contractor"),
- 
-   /** Currently not a documented return type. */
-   HINDU_TEMPLE("hindu_temple"),
- 
-   /** Currently not a documented return type. */
-   JEWELRY_STORE("jewelry_store"),
- 
-   /** Currently not a documented return type. */
-   LAUNDRY("laundry"),
- 
-   /** Currently not a documented return type. */
-   LIQUOR_STORE("liquor_store"),
- 
-   /** Currently not a documented return type. */
-   LOCKSMITH("locksmith"),
- 
-   /** Currently not a documented return type. */
-   MEAL_DELIVERY("meal_delivery"),
- 
-   /** Currently not a documented return type. */
-   MOSQUE("mosque"),
- 
-   /** Currently not a documented return type. */
-   MOVIE_RENTAL("movie_rental"),
- 
-   /** Currently not a documented return type. */
-   MOVIE_THEATER("movie_theater"),
- 
-   /** Currently not a documented return type. */
-   PAINTER("painter"),
- 
-   /** Currently not a documented return type. */
-   PET_STORE("pet_store"),
- 
-   /** Currently not a documented return type. */
-   PHYSIOTHERAPIST("physiotherapist"),
- 
-   /** Currently not a documented return type. */
-   PLUMBER("plumber"),
- 
-   /** Currently not a documented return type. */
-   POLICE("police"),
- 
-   /** Currently not a documented return type. */
-   ROOFING_CONTRACTOR("roofing_contractor"),
- 
-   /** Currently not a documented return type. */
-   RV_PARK("rv_park"),
- 
-   /** Currently not a documented return type. */
-   TAXI_STAND("taxi_stand"),
- 
-   /** Currently not a documented return type. */
-   VETERINARY_CARE("veterinary_care"),
- 
-   /** Currently not a documented return type. */
-   ZOO("zoo"),
- 
-   /** An archipelago. */
-   ARCHIPELAGO("archipelago"),
- 
-   /** A tourist attraction */
-   TOURIST_ATTRACTION("tourist_attraction"),
- 
-   /** Currently not a documented return type. */
-   TOWN_SQUARE("town_square"),
- 
-   /**
-    * Indicates an unknown address type returned by the server. The Java Client for Google Maps
-    * Services should be updated to support the new value.
-    */
-   UNKNOWN("unknown");
- 
-   private final String addressType;
- 
-   AddressType(final String addressType) {
-     this.addressType = addressType;
-   }
- 
-   @Override
-   public String toString() {
-     return addressType;
-   }
- 
-   public String toCanonicalLiteral() {
-     return toString();
-   }
- 
-   @Override
-   public String toUrlValue() {
-     if (this == UNKNOWN) {
-       throw new UnsupportedOperationException("Shouldn't use AddressType.UNKNOWN in a request.");
-     }
-     return addressType;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-30.html b/CodeCoverageReport/ns-7/sources/source-30.html deleted file mode 100644 index ba275c581..000000000 --- a/CodeCoverageReport/ns-7/sources/source-30.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - Coverage Report > TrafficModel - - - - - - -
- - -

Coverage Summary for Class: TrafficModel (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
TrafficModel - - 100% - - - (1/1) - - - - 100% - - - (3/3) - - - - 100% - - - (6/6) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.util.Locale;
- 
- /** Specifies traffic prediction model when requesting future directions. */
- public enum TrafficModel implements UrlValue {
-   BEST_GUESS,
-   OPTIMISTIC,
-   PESSIMISTIC;
- 
-   @Override
-   public String toString() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-31.html b/CodeCoverageReport/ns-7/sources/source-31.html deleted file mode 100644 index e8904eebb..000000000 --- a/CodeCoverageReport/ns-7/sources/source-31.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - Coverage Report > TransitAgency - - - - - - -
- - -

Coverage Summary for Class: TransitAgency (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
TransitAgency - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/9) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * The operator of a line.
-  *
-  * <p>See <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-  * Details</a> for more detail.
-  */
- public class TransitAgency implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The name of the transit agency. */
-   public String name;
- 
-   /** The URL for the transit agency. */
-   public String url;
- 
-   /** The phone number of the transit agency. */
-   public String phone;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[TransitAgency: ");
-     sb.append(name);
-     if (url != null) {
-       sb.append(", url=").append(url);
-     }
-     if (phone != null) {
-       sb.append(", phone=").append(phone);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-32.html b/CodeCoverageReport/ns-7/sources/source-32.html deleted file mode 100644 index 14a92e051..000000000 --- a/CodeCoverageReport/ns-7/sources/source-32.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - Coverage Report > TransitDetails - - - - - - -
- - -

Coverage Summary for Class: TransitDetails (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
TransitDetails - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/4) - - - - 0% - - - (0/13) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.time.ZonedDateTime;
- 
- /**
-  * Transit directions return additional information that is not relevant for other modes of
-  * transportation. These additional properties are exposed through the {@code TransitDetails}
-  * object, returned as a field of an element in the {@code steps} array. From the {@code
-  * TransitDetails} object you can access additional information about the transit stop, transit
-  * line, and transit agency.
-  */
- public class TransitDetails implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** Information about the arrival stop/station for this part of the trip. */
-   public StopDetails arrivalStop;
- 
-   /** Information about the departure stop/station for this part of the trip. */
-   public StopDetails departureStop;
- 
-   /** The arrival time for this leg of the journey. */
-   public ZonedDateTime arrivalTime;
- 
-   /** The departure time for this leg of the journey. */
-   public ZonedDateTime departureTime;
- 
-   /**
-    * The direction in which to travel on this line, as it is marked on the vehicle or at the
-    * departure stop. This will often be the terminus station.
-    */
-   public String headsign;
- 
-   /**
-    * The expected number of seconds between departures from the same stop at this time. For example,
-    * with a headway value of 600, you would expect a ten minute wait if you should miss your bus.
-    */
-   public long headway;
- 
-   /**
-    * The number of stops in this step, counting the arrival stop, but not the departure stop. For
-    * example, if your directions involve leaving from Stop A, passing through stops B and C, and
-    * arriving at stop D, {@code numStops} will equal 3.
-    */
-   public int numStops;
- 
-   /** Information about the transit line used in this step. */
-   public TransitLine line;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[");
-     sb.append(departureStop).append(" at ").append(departureTime);
-     sb.append(" -> ");
-     sb.append(arrivalStop).append(" at ").append(arrivalTime);
-     if (headsign != null) {
-       sb.append(" (").append(headsign).append(" )");
-     }
-     if (line != null) {
-       sb.append(" on ").append(line);
-     }
-     sb.append(", ").append(numStops).append(" stops");
-     sb.append(", headway=").append(headway).append(" s");
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-33.html b/CodeCoverageReport/ns-7/sources/source-33.html deleted file mode 100644 index 116aea856..000000000 --- a/CodeCoverageReport/ns-7/sources/source-33.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - Coverage Report > TransitLine - - - - - - -
- - -

Coverage Summary for Class: TransitLine (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
TransitLine - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * The transit line used in a step.
-  *
-  * <p>See <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-  * Details</a> for more detail.
-  */
- public class TransitLine implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The full name of this transit line. E.g. {@code "7 Avenue Express"}. */
-   public String name;
- 
-   /**
-    * The short name of this transit line. This will normally be a line number, such as {@code "M7"}
-    * or {@code "355"}.
-    */
-   public String shortName;
- 
-   /**
-    * The color commonly used in signage for this transit line. The color will be specified as a hex
-    * string, such as {@code "#FF0033"}.
-    */
-   public String color;
- 
-   /** Information about the operator(s) of this transit line. */
-   public TransitAgency[] agencies;
- 
-   /** The URL for this transit line as provided by the transit agency. */
-   public String url;
- 
-   /** The URL for the icon associated with this transit line. */
-   public String icon;
- 
-   /**
-    * The color of text commonly used for signage of this transit line. The color will be specified
-    * as a hex string, such as {@code "#FF0033"}.
-    */
-   public String textColor;
- 
-   /** The type of vehicle used on this transit line. */
-   public Vehicle vehicle;
- 
-   @Override
-   public String toString() {
-     return String.format("%s \"%s\"", shortName, name);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-34.html b/CodeCoverageReport/ns-7/sources/source-34.html deleted file mode 100644 index 55a90698e..000000000 --- a/CodeCoverageReport/ns-7/sources/source-34.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - Coverage Report > TransitMode - - - - - - -
- - -

Coverage Summary for Class: TransitMode (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
TransitMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 87.5% - - - (7/8) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.util.Locale;
- 
- /** You may specify transit mode when requesting transit directions or distances. */
- public enum TransitMode implements UrlValue {
-   BUS,
-   SUBWAY,
-   TRAIN,
-   TRAM,
- 
-   /** Indicates preferred travel by train, tram, light rail and subway. */
-   RAIL;
- 
-   @Override
-   public String toString() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-35.html b/CodeCoverageReport/ns-7/sources/source-35.html deleted file mode 100644 index 0513cd7f7..000000000 --- a/CodeCoverageReport/ns-7/sources/source-35.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - Coverage Report > TransitRoutingPreference - - - - - - -
- - -

Coverage Summary for Class: TransitRoutingPreference (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
TransitRoutingPreference - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (4/5) - -
- -
-
- - -
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.util.Locale;
- 
- /** Indicates user preference when requesting transit directions. */
- public enum TransitRoutingPreference implements UrlValue {
-   LESS_WALKING,
-   FEWER_TRANSFERS;
- 
-   @Override
-   public String toString() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-36.html b/CodeCoverageReport/ns-7/sources/source-36.html deleted file mode 100644 index 84a3fc172..000000000 --- a/CodeCoverageReport/ns-7/sources/source-36.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - Coverage Report > TravelMode - - - - - - -
- - -

Coverage Summary for Class: TravelMode (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
TravelMode - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 100% - - - (2/2) - - - - 90% - - - (9/10) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.util.Locale;
- 
- /**
-  * You may specify the transportation mode to use for calulating directions. Directions are
-  * calculating as driving directions by default.
-  *
-  * @see <a href="https://developers.google.com/maps/documentation/directions/intro#TravelModes">
-  *     Directions API travel modes</a>
-  * @see <a href="https://developers.google.com/maps/documentation/distance-matrix/intro">Distance
-  *     Matrix API Intro</a>
-  */
- public enum TravelMode implements UrlValue {
-   DRIVING,
-   WALKING,
-   BICYCLING,
-   TRANSIT,
- 
-   /**
-    * Indicates an unknown travel mode returned by the server. The Java Client for Google Maps
-    * Services should be updated to support the new value.
-    */
-   UNKNOWN;
- 
-   @Override
-   public String toString() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- 
-   @Override
-   public String toUrlValue() {
-     if (this == UNKNOWN) {
-       throw new UnsupportedOperationException("Shouldn't use TravelMode.UNKNOWN in a request.");
-     }
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-37.html b/CodeCoverageReport/ns-7/sources/source-37.html deleted file mode 100644 index 3b68cb069..000000000 --- a/CodeCoverageReport/ns-7/sources/source-37.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - Coverage Report > Unit - - - - - - -
- - -

Coverage Summary for Class: Unit (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Unit - - 100% - - - (1/1) - - - - 66.7% - - - (2/3) - - - - 80% - - - (4/5) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import com.google.maps.internal.StringJoin.UrlValue;
- import java.util.Locale;
- 
- /** Units of measurement. */
- public enum Unit implements UrlValue {
-   METRIC,
-   IMPERIAL;
- 
-   @Override
-   public String toString() {
-     return toUrlValue();
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return name().toLowerCase(Locale.ENGLISH);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-38.html b/CodeCoverageReport/ns-7/sources/source-38.html deleted file mode 100644 index fe5507481..000000000 --- a/CodeCoverageReport/ns-7/sources/source-38.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - Coverage Report > Vehicle - - - - - - -
- - -

Coverage Summary for Class: Vehicle (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Vehicle - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/2) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * The vehicle used on a line.
-  *
-  * <p>See <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-  * details</a> for more detail.
-  */
- public class Vehicle implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The name of the vehicle on this line. E.g. {@code "Subway"}. */
-   public String name;
- 
-   /**
-    * The type of vehicle that runs on this line. See the {@link com.google.maps.model.VehicleType
-    * VehicleType} documentation for a complete list of supported values.
-    */
-   public VehicleType type;
- 
-   /** The URL for an icon associated with this vehicle type. */
-   public String icon;
- 
-   /** The URL for an icon based on the local transport signage. */
-   public String localIcon;
- 
-   @Override
-   public String toString() {
-     return String.format("%s (%s)", name, type);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-39.html b/CodeCoverageReport/ns-7/sources/source-39.html deleted file mode 100644 index c12570e63..000000000 --- a/CodeCoverageReport/ns-7/sources/source-39.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - Coverage Report > VehicleType - - - - - - -
- - -

Coverage Summary for Class: VehicleType (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
VehicleType - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (19/19) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- /**
-  * The vehicle types.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro#VehicleType">
-  * Vehicle Type</a> for more detail.
-  */
- public enum VehicleType {
- 
-   /** Rail. */
-   RAIL,
- 
-   /** Light rail transit. */
-   METRO_RAIL,
- 
-   /** Underground light rail. */
-   SUBWAY,
- 
-   /** Above ground light rail. */
-   TRAM,
- 
-   /** Monorail. */
-   MONORAIL,
- 
-   /** Heavy rail. */
-   HEAVY_RAIL,
- 
-   /** Commuter rail. */
-   COMMUTER_TRAIN,
- 
-   /** High speed train. */
-   HIGH_SPEED_TRAIN,
- 
-   /** Long distance train. */
-   LONG_DISTANCE_TRAIN,
- 
-   /** Bus. */
-   BUS,
- 
-   /** Intercity bus. */
-   INTERCITY_BUS,
- 
-   /** Trolleybus. */
-   TROLLEYBUS,
- 
-   /**
-    * Share taxi is a kind of bus with the ability to drop off and pick up passengers anywhere on its
-    * route.
-    */
-   SHARE_TAXI,
- 
-   /** Ferry. */
-   FERRY,
- 
-   /**
-    * A vehicle that operates on a cable, usually on the ground. Aerial cable cars may be of the type
-    * {@code GONDOLA_LIFT}.
-    */
-   CABLE_CAR,
- 
-   /** An aerial cable car. */
-   GONDOLA_LIFT,
- 
-   /**
-    * A vehicle that is pulled up a steep incline by a cable. A Funicular typically consists of two
-    * cars, with each car acting as a counterweight for the other.
-    */
-   FUNICULAR,
- 
-   /** All other vehicles will return this type. */
-   OTHER
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-3a.html b/CodeCoverageReport/ns-7/sources/source-3a.html deleted file mode 100644 index ae0c6cbcd..000000000 --- a/CodeCoverageReport/ns-7/sources/source-3a.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - Coverage Report > WifiAccessPoint - - - - - - -
- - -

Coverage Summary for Class: WifiAccessPoint (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Branch, % - - Line, % -
WifiAccessPoint - - 75% - - - (3/4) - - - - 0% - - - (0/10) - - - - 46.2% - - - (12/26) - -
WifiAccessPoint$1
WifiAccessPoint$WifiAccessPointBuilder - - 100% - - - (7/7) - - - - 100% - - - (17/17) - -
Total - - 90.9% - - - (10/11) - - - - 0% - - - (0/10) - - - - 67.4% - - - (29/43) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * A WiFi access point.
-  *
-  * <p>The request body's {@code wifiAccessPoints} array must contain two or more WiFi access point
-  * objects. {@code macAddress} is required; all other fields are optional.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/maps/documentation/geolocation/intro#wifi_access_point_object">
-  * WiFi Access Point Objects</a> for more detail.
-  */
- public class WifiAccessPoint implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   public WifiAccessPoint() {}
- 
-   // constructor only used by the builder class below
-   private WifiAccessPoint(
-       String _macAddress,
-       Integer _signalStrength,
-       Integer _age,
-       Integer _channel,
-       Integer _signalToNoiseRatio) {
-     macAddress = _macAddress;
-     signalStrength = _signalStrength;
-     age = _age;
-     channel = _channel;
-     signalToNoiseRatio = _signalToNoiseRatio;
-   }
-   /**
-    * The MAC address of the WiFi node (required). Separators must be {@code :} (colon) and hex
-    * digits must use uppercase.
-    */
-   public String macAddress;
-   /** The current signal strength measured in dBm. */
-   public Integer signalStrength = null;
-   /** The number of milliseconds since this access point was detected. */
-   public Integer age = null;
-   /** The channel over which the client is communicating with the access point. */
-   public Integer channel = null;
-   /** The current signal to noise ratio measured in dB. */
-   public Integer signalToNoiseRatio = null;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[WifiAccessPoint:");
-     if (macAddress != null) {
-       sb.append(" macAddress=").append(macAddress);
-     }
-     if (signalStrength != null) {
-       sb.append(" signalStrength=").append(signalStrength);
-     }
-     if (age != null) {
-       sb.append(" age=").append(age);
-     }
-     if (channel != null) {
-       sb.append(" channel=").append(channel);
-     }
-     if (signalToNoiseRatio != null) {
-       sb.append(" signalToNoiseRatio=").append(signalToNoiseRatio);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- 
-   public static class WifiAccessPointBuilder {
-     private String _macAddress = null;
-     private Integer _signalStrength = null;
-     private Integer _age = null;
-     private Integer _channel = null;
-     private Integer _signalToNoiseRatio = null;
- 
-     // create the actual wifi access point
-     public WifiAccessPoint createWifiAccessPoint() {
-       return new WifiAccessPoint(_macAddress, _signalStrength, _age, _channel, _signalToNoiseRatio);
-     }
- 
-     public WifiAccessPointBuilder MacAddress(String newMacAddress) {
-       this._macAddress = newMacAddress;
-       return this;
-     }
- 
-     public WifiAccessPointBuilder SignalStrength(int newSignalStrength) {
-       this._signalStrength = newSignalStrength;
-       return this;
-     }
- 
-     public WifiAccessPointBuilder Age(int newAge) {
-       this._age = newAge;
-       return this;
-     }
- 
-     public WifiAccessPointBuilder Channel(int newChannel) {
-       this._channel = newChannel;
-       return this;
-     }
- 
-     public WifiAccessPointBuilder SignalToNoiseRatio(int newSignalToNoiseRatio) {
-       this._signalToNoiseRatio = newSignalToNoiseRatio;
-       return this;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-4.html b/CodeCoverageReport/ns-7/sources/source-4.html deleted file mode 100644 index 4e6c99a8a..000000000 --- a/CodeCoverageReport/ns-7/sources/source-4.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - Coverage Report > AutocompletePrediction - - - - - - -
- - -

Coverage Summary for Class: AutocompletePrediction (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Line, % -
AutocompletePrediction - - 100% - - - (2/2) - - - - 100% - - - (6/6) - -
AutocompletePrediction$MatchedSubstring - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
AutocompletePrediction$Term - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
Total - - 100% - - - (6/6) - - - - 100% - - - (10/10) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.util.Arrays;
- import java.util.Objects;
- 
- /**
-  * Represents a single Autocomplete result returned from the Google Places API Web Service.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/places/web-service/query#query_autocomplete_responses">Query
-  * Autocomplete Responses</a> for more detail.
-  */
- public class AutocompletePrediction implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** Description of the matched prediction. */
-   public String description;
- 
-   /** The Place ID of the place. */
-   public String placeId;
- 
-   /**
-    * An array indicating the type of the address component.
-    *
-    * <p>Please see <a href="https://developers.google.com/places/supported_types">supported
-    * types</a> for a list of types that can be returned.
-    */
-   public String types[];
- 
-   /**
-    * An array of terms identifying each section of the returned description. (A section of the
-    * description is generally terminated with a comma.) Each entry in the array has a value field,
-    * containing the text of the term, and an offset field, defining the start position of this term
-    * in the description, measured in Unicode characters.
-    */
-   public Term terms[];
- 
-   /**
-    * The distance in meters of the place from the {@link
-    * com.google.maps.PlaceAutocompleteRequest#origin(LatLng)}. Optional.
-    */
-   public Integer distanceMeters;
- 
-   /**
-    * Describes the location of the entered term in the prediction result text, so that the term can
-    * be highlighted if desired.
-    */
-   public static class MatchedSubstring implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     /** The length of the matched substring, measured in Unicode characters. */
-     public int length;
- 
-     /** The start position of the matched substring, measured in Unicode characters. */
-     public int offset;
- 
-     @Override
-     public String toString() {
-       return String.format("(offset=%d, length=%d)", offset, length);
-     }
-   }
- 
-   /**
-    * The locations of the entered term in the prediction result text, so that the term can be
-    * highlighted if desired.
-    */
-   public MatchedSubstring matchedSubstrings[];
- 
-   /** A description of how the autocomplete query matched the returned result. */
-   public AutocompleteStructuredFormatting structuredFormatting;
- 
-   /**
-    * Identifies each section of the returned description. (A section of the description is generally
-    * terminated with a comma.)
-    */
-   public static class Term implements Serializable {
- 
-     private static final long serialVersionUID = 1L;
- 
-     /** The start position of this term in the description, measured in Unicode characters. */
-     public int offset;
- 
-     /** The text of the matched term. */
-     public String value;
- 
-     @Override
-     public String toString() {
-       return String.format("(offset=%d, value=%s)", offset, value);
-     }
-   }
- 
-   @Override
-   public String toString() {
-     return String.format(
-         "[AutocompletePrediction: \"%s\", placeId=%s, types=%s, terms=%s, "
-             + "matchedSubstrings=%s, structuredFormatting=%s]",
-         description,
-         placeId,
-         Arrays.toString(types),
-         Arrays.toString(terms),
-         Arrays.toString(matchedSubstrings),
-         Objects.toString(structuredFormatting));
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-5.html b/CodeCoverageReport/ns-7/sources/source-5.html deleted file mode 100644 index 0008fe3c8..000000000 --- a/CodeCoverageReport/ns-7/sources/source-5.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - Coverage Report > AutocompleteStructuredFormatting - - - - - - -
- - -

Coverage Summary for Class: AutocompleteStructuredFormatting (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
AutocompleteStructuredFormatting - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 50% - - - (1/2) - - - - 100% - - - (8/8) - -
- -
-
- - -
- /*
-  * Copyright 2017 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.util.Arrays;
- 
- /** The structured formatting info for a {@link com.google.maps.model.AutocompletePrediction}. */
- public class AutocompleteStructuredFormatting implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** The main text of a prediction, usually the name of the place. */
-   public String mainText;
- 
-   /** Where the query matched the returned main text. */
-   public AutocompletePrediction.MatchedSubstring mainTextMatchedSubstrings[];
- 
-   /** The secondary text of a prediction, usually the location of the place. */
-   public String secondaryText;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("(");
-     sb.append("\"").append(mainText).append("\"");
-     sb.append(" at ").append(Arrays.toString(mainTextMatchedSubstrings));
-     if (secondaryText != null) {
-       sb.append(", secondaryText=\"").append(secondaryText).append("\"");
-     }
-     sb.append(")");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-6.html b/CodeCoverageReport/ns-7/sources/source-6.html deleted file mode 100644 index fbacdf1ef..000000000 --- a/CodeCoverageReport/ns-7/sources/source-6.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - Coverage Report > Bounds - - - - - - -
- - -

Coverage Summary for Class: Bounds (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Bounds - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (2/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** The northeast and southwest points that delineate the outer bounds of a map. */
- public class Bounds implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /** The northeast corner of the bounding box. */
-   public LatLng northeast;
-   /** The southwest corner of the bounding box. */
-   public LatLng southwest;
- 
-   @Override
-   public String toString() {
-     return String.format("[%s, %s]", northeast, southwest);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-7.html b/CodeCoverageReport/ns-7/sources/source-7.html deleted file mode 100644 index 1017d4677..000000000 --- a/CodeCoverageReport/ns-7/sources/source-7.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - Coverage Report > CellTower - - - - - - -
- - -

Coverage Summary for Class: CellTower (com.google.maps.model)

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Class - Method, % - - Line, % -
CellTower - - 75% - - - (3/4) - - - - 89.5% - - - (17/19) - -
CellTower$1
CellTower$CellTowerBuilder - - 100% - - - (9/9) - - - - 100% - - - (23/23) - -
Total - - 92.3% - - - (12/13) - - - - 95.2% - - - (40/42) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * A cell tower object.
-  *
-  * <p>The Geolocation API request body's cellTowers array contains zero or more cell tower objects.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/maps/documentation/geolocation/intro#cell_tower_object">Cell
-  * Tower Object</a> for more detail.
-  */
- public class CellTower implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   public CellTower() {}
- 
-   // constructor only used by the builder class below
-   private CellTower(
-       Integer _cellId,
-       Integer _locationAreaCode,
-       Integer _mobileCountryCode,
-       Integer _mobileNetworkCode,
-       Integer _age,
-       Integer _signalStrength,
-       Integer _timingAdvance) {
-     this.cellId = _cellId;
-     this.locationAreaCode = _locationAreaCode;
-     this.mobileCountryCode = _mobileCountryCode;
-     this.mobileNetworkCode = _mobileNetworkCode;
-     this.age = _age;
-     this.signalStrength = _signalStrength;
-     this.timingAdvance = _timingAdvance;
-   }
-   /**
-    * Unique identifier of the cell (required). On GSM, this is the Cell ID (CID); CDMA networks use
-    * the Base Station ID (BID). WCDMA networks use the UTRAN/GERAN Cell Identity (UC-Id), which is a
-    * 32-bit value concatenating the Radio Network Controller (RNC) and Cell ID. Specifying only the
-    * 16-bit Cell ID value in WCDMA networks may return inaccurate results.
-    */
-   public Integer cellId = null;
-   /**
-    * The Location Area Code (LAC) for GSM and WCDMAnetworks or The Network ID (NID) for CDMA
-    * networks (required).
-    */
-   public Integer locationAreaCode = null;
-   /** The cell tower's Mobile Country Code (MCC) (required). */
-   public Integer mobileCountryCode = null;
-   /**
-    * The cell tower's Mobile Network Code (required). This is the MNC for GSM and WCDMA; CDMA uses
-    * the System ID (SID).
-    */
-   public Integer mobileNetworkCode = null;
-   /* The following optional fields are not currently used, but may be included if values are available. */
-   /**
-    * The number of milliseconds since this cell was primary. If age is 0, the cellId represents a
-    * current measurement.
-    */
-   public Integer age = null;
-   /** Radio signal strength measured in dBm. */
-   public Integer signalStrength = null;
-   /** The timing advance value. */
-   public Integer timingAdvance = null;
- 
-   @Override
-   public String toString() {
-     return String.format(
-         "[CellTower: cellId=%s, locationAreaCode=%s, mobileCountryCode=%s, "
-             + "mobileNetworkCode=%s, age=%s, signalStrength=%s, timingAdvance=%s]",
-         cellId,
-         locationAreaCode,
-         mobileCountryCode,
-         mobileNetworkCode,
-         age,
-         signalStrength,
-         timingAdvance);
-   }
- 
-   public static class CellTowerBuilder {
-     private Integer _cellId = null;
-     private Integer _locationAreaCode = null;
-     private Integer _mobileCountryCode = null;
-     private Integer _mobileNetworkCode = null;
-     private Integer _age = null;
-     private Integer _signalStrength = null;
-     private Integer _timingAdvance = null;
- 
-     // create the actual cell tower
-     public CellTower createCellTower() {
-       return new CellTower(
-           _cellId,
-           _locationAreaCode,
-           _mobileCountryCode,
-           _mobileNetworkCode,
-           _age,
-           _signalStrength,
-           _timingAdvance);
-     }
- 
-     public CellTowerBuilder CellId(int newCellId) {
-       this._cellId = newCellId;
-       return this;
-     }
- 
-     public CellTowerBuilder LocationAreaCode(int newLocationAreaCode) {
-       this._locationAreaCode = newLocationAreaCode;
-       return this;
-     }
- 
-     public CellTowerBuilder MobileCountryCode(int newMobileCountryCode) {
-       this._mobileCountryCode = newMobileCountryCode;
-       return this;
-     }
- 
-     public CellTowerBuilder MobileNetworkCode(int newMobileNetworkCode) {
-       this._mobileNetworkCode = newMobileNetworkCode;
-       return this;
-     }
- 
-     public CellTowerBuilder Age(int newAge) {
-       this._age = newAge;
-       return this;
-     }
- 
-     public CellTowerBuilder SignalStrength(int newSignalStrength) {
-       this._signalStrength = newSignalStrength;
-       return this;
-     }
- 
-     public CellTowerBuilder TimingAdvance(int newTimingAdvance) {
-       this._timingAdvance = newTimingAdvance;
-       return this;
-     }
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-8.html b/CodeCoverageReport/ns-7/sources/source-8.html deleted file mode 100644 index f9016afda..000000000 --- a/CodeCoverageReport/ns-7/sources/source-8.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - Coverage Report > ComponentFilter - - - - - - -
- - -

Coverage Summary for Class: ComponentFilter (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
ComponentFilter - - 100% - - - (1/1) - - - - 75% - - - (6/8) - - - - 81.8% - - - (9/11) - -
- -
-
- - -
- /*
-  * Copyright 2016 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import static com.google.maps.internal.StringJoin.join;
- 
- import com.google.maps.internal.StringJoin;
- 
- /**
-  * A component filter for a geocode request. In a geocoding response, the Google Geocoding API can
-  * return address results restricted to a specific area. The restriction is specified using the
-  * components filter.
-  *
-  * <p>Please see <a
-  * href="https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering">Component
-  * Filtering</a> for more detail.
-  */
- public class ComponentFilter implements StringJoin.UrlValue {
-   public final String component;
-   public final String value;
- 
-   /**
-    * Constructs a component filter.
-    *
-    * @param component The component to filter.
-    * @param value The value of the filter.
-    */
-   public ComponentFilter(String component, String value) {
-     this.component = component;
-     this.value = value;
-   }
- 
-   @Override
-   public String toString() {
-     return toUrlValue();
-   }
- 
-   @Override
-   public String toUrlValue() {
-     return join(':', component, value);
-   }
- 
-   /**
-    * Matches long or short name of a route.
-    *
-    * @param route The name of the route to filter on.
-    * @return Returns a {@link ComponentFilter}.
-    */
-   public static ComponentFilter route(String route) {
-     return new ComponentFilter("route", route);
-   }
- 
-   /**
-    * Matches against both locality and sublocality types.
-    *
-    * @param locality The locality to filter on.
-    * @return Returns a {@link ComponentFilter}.
-    */
-   public static ComponentFilter locality(String locality) {
-     return new ComponentFilter("locality", locality);
-   }
- 
-   /**
-    * Matches all the administrative area levels.
-    *
-    * @param administrativeArea The administrative area to filter on.
-    * @return Returns a {@link ComponentFilter}.
-    */
-   public static ComponentFilter administrativeArea(String administrativeArea) {
-     return new ComponentFilter("administrative_area", administrativeArea);
-   }
- 
-   /**
-    * Matches postal code or postal code prefix.
-    *
-    * @param postalCode The postal code to filter on.
-    * @return Returns a {@link ComponentFilter}.
-    */
-   public static ComponentFilter postalCode(String postalCode) {
-     return new ComponentFilter("postal_code", postalCode);
-   }
- 
-   /**
-    * Matches a country name or a two letter ISO 3166-1 country code.
-    *
-    * @param country The country to filter on.
-    * @return Returns a {@link ComponentFilter}.
-    */
-   public static ComponentFilter country(String country) {
-     return new ComponentFilter("country", country);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-9.html b/CodeCoverageReport/ns-7/sources/source-9.html deleted file mode 100644 index 5e7ff48c8..000000000 --- a/CodeCoverageReport/ns-7/sources/source-9.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - Coverage Report > DirectionsLeg - - - - - - -
- - -

Coverage Summary for Class: DirectionsLeg (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsLeg - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/6) - - - - 7.7% - - - (1/13) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.time.ZonedDateTime;
- 
- /**
-  * A component of a Directions API result.
-  *
-  * <p>See <a href="https://developers.google.com/maps/documentation/directions/intro#Legs">the Legs
-  * documentation</a> for more detail.
-  */
- public class DirectionsLeg implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * Contains an array of steps denoting information about each separate step of this leg of the
-    * journey.
-    */
-   public DirectionsStep[] steps;
- 
-   /** The total distance covered by this leg. */
-   public Distance distance;
- 
-   /** The total duration of this leg. */
-   public Duration duration;
- 
-   /**
-    * The total duration of this leg, taking into account current traffic conditions. The duration in
-    * traffic will only be returned if all of the following are true:
-    *
-    * <ol>
-    *   <li>The directions request includes a departureTime parameter set to a value within a few
-    *       minutes of the current time.
-    *   <li>The request includes a valid Maps for Work client and signature parameter.
-    *   <li>Traffic conditions are available for the requested route.
-    *   <li>The directions request does not include stopover waypoints.
-    * </ol>
-    */
-   public Duration durationInTraffic;
- 
-   /**
-    * The estimated time of arrival for this leg. This property is only returned for transit
-    * directions.
-    */
-   public ZonedDateTime arrivalTime;
- 
-   /**
-    * The estimated time of departure for this leg. The departureTime is only available for transit
-    * directions.
-    */
-   public ZonedDateTime departureTime;
- 
-   /**
-    * The latitude/longitude coordinates of the origin of this leg. Because the Directions API
-    * calculates directions between locations by using the nearest transportation option (usually a
-    * road) at the start and end points, startLocation may be different from the provided origin of
-    * this leg if, for example, a road is not near the origin.
-    */
-   public LatLng startLocation;
- 
-   /**
-    * The latitude/longitude coordinates of the given destination of this leg. Because the Directions
-    * API calculates directions between locations by using the nearest transportation option (usually
-    * a road) at the start and end points, endLocation may be different than the provided destination
-    * of this leg if, for example, a road is not near the destination.
-    */
-   public LatLng endLocation;
- 
-   /**
-    * The human-readable address (typically a street address) reflecting the start location of this
-    * leg.
-    */
-   public String startAddress;
- 
-   /**
-    * The human-readable address (typically a street address) reflecting the end location of this
-    * leg.
-    */
-   public String endAddress;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb =
-         new StringBuilder(
-             String.format(
-                 "[DirectionsLeg: \"%s\" -> \"%s\" (%s -> %s)",
-                 startAddress, endAddress, startLocation, endLocation));
-     if (departureTime != null) {
-       sb.append(", departureTime=").append(departureTime);
-     }
-     if (arrivalTime != null) {
-       sb.append(", arrivalTime=").append(arrivalTime);
-     }
-     if (durationInTraffic != null) {
-       sb.append(", durationInTraffic=").append(durationInTraffic);
-     }
-     sb.append(", duration=").append(duration);
-     sb.append(", distance=").append(distance);
-     sb.append(": ").append(steps.length).append(" steps]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-a.html b/CodeCoverageReport/ns-7/sources/source-a.html deleted file mode 100644 index eaa09c550..000000000 --- a/CodeCoverageReport/ns-7/sources/source-a.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - Coverage Report > DirectionsResult - - - - - - -
- - -

Coverage Summary for Class: DirectionsResult (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
DirectionsResult - - 100% - - - (1/1) - - - - 100% - - - (1/1) - - - - 100% - - - (1/1) - -
- -
-
- - -
- /*
-  * Copyright 2015 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * DirectionsResult represents a result from the Google Directions API Web Service.
-  *
-  * <p>Please see <a href="https://developers.google.com/maps/documentation/directions/intro">
-  * Directions API</a> for more detail.
-  */
- public class DirectionsResult implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * Details about the geocoding of origin, destination, and waypoints. See <a
-    * href="https://developers.google.com/maps/documentation/directions/intro#GeocodedWaypoints">
-    * Geocoded Waypoints</a> for more detail.
-    */
-   public GeocodedWaypoint geocodedWaypoints[];
- 
-   /**
-    * Routes from the origin to the destination. See <a
-    * href="https://developers.google.com/maps/documentation/directions/intro#Routes">Routes</a> for
-    * more detail.
-    */
-   public DirectionsRoute routes[];
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-b.html b/CodeCoverageReport/ns-7/sources/source-b.html deleted file mode 100644 index 3ede76d50..000000000 --- a/CodeCoverageReport/ns-7/sources/source-b.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - - - Coverage Report > DirectionsRoute - - - - - - -
- - -

Coverage Summary for Class: DirectionsRoute (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsRoute - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 33.3% - - - (2/6) - - - - 80% - - - (8/10) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- import java.util.Arrays;
- 
- /**
-  * A Directions API result. When the Directions API returns results, it places them within a routes
-  * array. Even if the service returns no results (such as if the origin and/or destination doesn't
-  * exist) it still returns an empty routes array.
-  *
-  * <p>Please see <a href="https://developers.google.com/maps/documentation/directions/intro#Routes">
-  * Routes</a> for more detail.
-  */
- public class DirectionsRoute implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
-   /**
-    * A short textual description for the route, suitable for naming and disambiguating the route
-    * from alternatives.
-    */
-   public String summary;
- 
-   /**
-    * Information about legs of the route, between locations within the route. A separate leg will be
-    * present for each waypoint or destination specified. (A route with no waypoints will contain
-    * exactly one leg within the legs array.)
-    */
-   public DirectionsLeg[] legs;
- 
-   /**
-    * Indicates the order of any waypoints in the calculated route. This waypoints may be reordered
-    * if the request was passed {@code optimize:true} within its {@code waypoints} parameter.
-    */
-   public int[] waypointOrder;
- 
-   /** An approximate (smoothed) path of the resulting directions. */
-   public EncodedPolyline overviewPolyline;
- 
-   /** The viewport bounding box of the overview_polyline. */
-   public Bounds bounds;
- 
-   /**
-    * Copyrights text to be displayed for this route. You must handle and display this information
-    * yourself.
-    */
-   public String copyrights;
- 
-   /**
-    * Information about the fare (that is, the ticket costs) on this route. This property is only
-    * returned for transit directions, and only for routes where fare information is available for
-    * all transit legs.
-    */
-   public Fare fare;
- 
-   /**
-    * Warnings to be displayed when showing these directions. You must handle and display these
-    * warnings yourself.
-    */
-   public String[] warnings;
- 
-   @Override
-   public String toString() {
-     String str =
-         String.format(
-             "[DirectionsRoute: \"%s\", %d legs, waypointOrder=%s, bounds=%s",
-             summary, legs.length, Arrays.toString(waypointOrder), bounds);
-     if (fare != null) {
-       str = str + ", fare=" + fare;
-     }
-     if (warnings != null && warnings.length > 0) {
-       str = str + ", " + warnings.length + " warnings";
-     }
-     str = str + "]";
-     return str;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-c.html b/CodeCoverageReport/ns-7/sources/source-c.html deleted file mode 100644 index 496c1e77f..000000000 --- a/CodeCoverageReport/ns-7/sources/source-c.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - Coverage Report > DirectionsStep - - - - - - -
- - -

Coverage Summary for Class: DirectionsStep (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DirectionsStep - - 0% - - - (0/1) - - - - 0% - - - (0/2) - - - - 0% - - - (0/6) - - - - 0% - - - (0/13) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * Each element in the steps of a {@link DirectionsLeg} defines a single step of the calculated
-  * directions. A step is the most atomic unit of a direction's route, containing a single step
-  * describing a specific, single instruction on the journey. E.g. "Turn left at W. 4th St." The step
-  * not only describes the instruction but also contains distance and duration information relating
-  * to how this step relates to the following step. For example, a step denoted as "Merge onto I-80
-  * West" may contain a duration of "37 miles" and "40 minutes," indicating that the next step is 37
-  * miles/40 minutes from this step.
-  *
-  * <p>When using the Directions API to search for transit directions, the steps array will include
-  * additional <a
-  * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-  * Details</a> in the form of a {@code transitDetails} array. If the directions include multiple
-  * modes of transportation, detailed directions will be provided for walking or driving steps in a
-  * {@code steps} array. For example, a walking step will include directions from the start and end
-  * locations: "Walk to Innes Ave &amp; Fitch St". That step will include detailed walking directions
-  * for that route in the {@code steps} array, such as: "Head north-west", "Turn left onto Arelious
-  * Walker", and "Turn left onto Innes Ave".
-  */
- public class DirectionsStep implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /** Formatted instructions for this step, presented as an HTML text string. */
-   public String htmlInstructions;
- 
-   /** The distance covered by this step until the next step. */
-   public Distance distance;
- 
-   /**
-    * The maneuver required to move ahead. E.g., turn-left. Please note, this field is undocumented,
-    * and thus should not be relied upon.
-    */
-   @Deprecated public String maneuver;
- 
-   /** The typical time required to perform the step, until the next step. */
-   public Duration duration;
- 
-   /** The location of the starting point of this step. */
-   public LatLng startLocation;
- 
-   /** The location of the last point of this step. */
-   public LatLng endLocation;
- 
-   /**
-    * Detailed directions for walking or driving steps in transit directions. Substeps are only
-    * available when travelMode is set to "transit".
-    */
-   public DirectionsStep[] steps;
- 
-   /** The path of this step. */
-   public EncodedPolyline polyline;
- 
-   /**
-    * The travel mode of this step. See <a
-    * href="https://developers.google.com/maps/documentation/directions/intro#TravelModes">Travel
-    * Modes</a> for more detail.
-    */
-   public TravelMode travelMode;
- 
-   /**
-    * Transit-specific information. This field is only returned when travel_mode is set to "transit".
-    * See <a
-    * href="https://developers.google.com/maps/documentation/directions/intro#TransitDetails">Transit
-    * Details</a> for more detail.
-    */
-   public TransitDetails transitDetails;
- 
-   @Override
-   public String toString() {
-     StringBuilder sb = new StringBuilder("[DirectionsStep: ");
-     sb.append("\"").append(htmlInstructions).append("\"");
-     sb.append(String.format(" (%s -> %s", startLocation, endLocation)).append(")");
-     sb.append(" ").append(travelMode);
-     sb.append(", duration=").append(duration);
-     sb.append(", distance=").append(distance);
-     if (steps != null && steps.length > 0) {
-       sb.append(", ").append(steps.length).append(" substeps");
-     }
-     if (transitDetails != null) {
-       sb.append(", transitDetails=").append(transitDetails);
-     }
-     sb.append("]");
-     return sb.toString();
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-d.html b/CodeCoverageReport/ns-7/sources/source-d.html deleted file mode 100644 index 4438b6afc..000000000 --- a/CodeCoverageReport/ns-7/sources/source-d.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - Coverage Report > Distance - - - - - - -
- - -

Coverage Summary for Class: Distance (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
Distance - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 50% - - - (1/2) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /** The distance component for Directions API results. */
- public class Distance implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * The numeric distance, in meters. This is intended to be used only in algorithmic situations,
-    * e.g. sorting results by some user specified metric.
-    */
-   public long inMeters;
- 
-   /**
-    * The human-friendly distance. This is rounded and in an appropriate unit for the request. The
-    * units can be overridden with a request parameter.
-    */
-   public String humanReadable;
- 
-   @Override
-   public String toString() {
-     return humanReadable;
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-e.html b/CodeCoverageReport/ns-7/sources/source-e.html deleted file mode 100644 index aee285388..000000000 --- a/CodeCoverageReport/ns-7/sources/source-e.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrix - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrix (com.google.maps.model)

- - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Line, % -
DistanceMatrix - - 100% - - - (1/1) - - - - 100% - - - (2/2) - - - - 100% - - - (7/7) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * A complete result from a Distance Matrix API call.
-  *
-  * @see <a
-  *     href="https://developers.google.com/maps/documentation/distancematrix/#DistanceMatrixResponses">
-  *     Distance Matrix Results</a>
-  */
- public class DistanceMatrix implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * Origin addresses as returned by the API from your original request. These are formatted by the
-    * geocoder and localized according to the language parameter passed with the request.
-    */
-   public final String[] originAddresses;
- 
-   /**
-    * Destination addresses as returned by the API from your original request. As with {@link
-    * #originAddresses}, these are localized if appropriate.
-    */
-   public final String[] destinationAddresses;
- 
-   /**
-    * An array of elements, each of which in turn contains a status, duration, and distance element.
-    */
-   public final DistanceMatrixRow[] rows;
- 
-   public DistanceMatrix(
-       String[] originAddresses, String[] destinationAddresses, DistanceMatrixRow[] rows) {
-     this.originAddresses = originAddresses;
-     this.destinationAddresses = destinationAddresses;
-     this.rows = rows;
-   }
- 
-   @Override
-   public String toString() {
-     return String.format(
-         "DistanceMatrix: %d origins x %d destinations, %d rows",
-         originAddresses.length, destinationAddresses.length, rows.length);
-   }
- }
-
-
-
- - - - - - diff --git a/CodeCoverageReport/ns-7/sources/source-f.html b/CodeCoverageReport/ns-7/sources/source-f.html deleted file mode 100644 index fee492995..000000000 --- a/CodeCoverageReport/ns-7/sources/source-f.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - - Coverage Report > DistanceMatrixElement - - - - - - -
- - -

Coverage Summary for Class: DistanceMatrixElement (com.google.maps.model)

- - - - - - - - - - - - - - - - - -
Class - Class, % - - Method, % - - Branch, % - - Line, % -
DistanceMatrixElement - - 100% - - - (1/1) - - - - 50% - - - (1/2) - - - - 0% - - - (0/4) - - - - 11.1% - - - (1/9) - -
- -
-
- - -
- /*
-  * Copyright 2014 Google Inc. All rights reserved.
-  *
-  *
-  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
-  * file except in compliance with the License. You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software distributed under
-  * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-  * ANY KIND, either express or implied. See the License for the specific language governing
-  * permissions and limitations under the License.
-  */
- 
- package com.google.maps.model;
- 
- import java.io.Serializable;
- 
- /**
-  * A single result corresponding to an origin/destination pair in a Distance Matrix response.
-  *
-  * <p>Be sure to check the status for each element, as a matrix response can have a mix of
-  * successful and failed elements depending on the connectivity of the origin and destination.
-  */
- public class DistanceMatrixElement implements Serializable {
- 
-   private static final long serialVersionUID = 1L;
- 
-   /**
-    * The status of the request for this origin/destination pair.
-    *
-    * <p>Will be one of {@link com.google.maps.model.DistanceMatrixElementStatus}.
-    */
-   public DistanceMatrixElementStatus status;
- 
-   /** The total duration of this leg. */
-   public Duration duration;
- 
-   /**
-    * The length of time to travel this route, based on current and historical traffic conditions.
-    * The duration in traffic will only be returned if all of the following are true:
-    *
-    * <ol>
-    *   <li>The request includes a departureTime parameter.
-    *   <li>The request includes a valid API key or a valid Google Maps APIs Premium Plan client ID
-    *       and signature.
-    *   <li>Traffic conditions are available for the requested route.
-    *   <li>The mode parameter is set to driving.
-    * </ol>
-    */
-   public Duration durationInTraffic;
- 
-   /** {@code distance} indicates the total distance covered by this leg. */
-   public Distance distance;
- 
-   /** {@code fare} contains information about the fare (that is, the ticket costs) on this route. */
-   public Fare fare;
- 
-   @Override
-   public String toString() {
-     String str =
-         String.format(
-             "[DistanceMatrixElement %s distance=%s, duration=%s", status, distance, duration);
-     if (durationInTraffic != null) {
-       str = str + ", durationInTraffic=" + durationInTraffic;
-     }
-     if (fare != null) {
-       str = str + ", fare=" + fare;
-     }
-     str = str + "]";
-     return str;
-   }
- }
-
-
-
- - - - - - diff --git a/README.md b/README.md index 1200fd488..6154691b5 100644 --- a/README.md +++ b/README.md @@ -39,14 +39,18 @@ to usage of the APIs when they're accessed through this library. - A Google Maps API key. ## API keys -Each Google Maps Web Service request requires an API key. API keys are generated in the 'Credentials' page of the 'APIs & Services' tab of Google Cloud console. -For even more information on getting started with Google Maps Platform and generating an API key, see [Get Started with Google Maps Platform](https://developers.google.com/maps/gmp-get-started) in our docs. +Each Google Maps Web Service request requires an API key. API keys are generated in the 'Credentials' page of the ' +APIs & Services' tab of Google Cloud console. + +For even more information on getting started with Google Maps Platform and generating an API key, +see [Get Started with Google Maps Platform](https://developers.google.com/maps/gmp-get-started) in our docs. ### API Key Security The Java Client for Google Maps Services is designed for use in both server and Android applications. -In either case, it is important to add [API key restrictions](https://developers.google.com/maps/api-security-best-practices?hl=it) +In either case, it is important to +add [API key restrictions](https://developers.google.com/maps/api-security-best-practices?hl=it) to improve the security of your API key. Additional security measures, such as hiding your key from version control, should also be put in place to further improve the security of your API key. @@ -102,6 +106,7 @@ You can find the latest version at the top of this README or by [searching Maven Central](https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22google-maps-services%22). ## Developer Documentation + View the [javadoc](https://www.javadoc.io/doc/com.google.maps/google-maps-services). Additional documentation for the included web services is available at @@ -146,7 +151,8 @@ For more usage examples, check out [the tests](src/test/java/com/google/maps). ### Google App Engine Support -To use Google App Engine with this client library add the latest [App Engine dependency](https://mvnrepository.com/artifact/com.google.appengine/appengine-api-1.0-sdk) +To use Google App Engine with this client library add the +latest [App Engine dependency](https://mvnrepository.com/artifact/com.google.appengine/appengine-api-1.0-sdk) to your `build.gradle` file: ```groovy @@ -173,7 +179,9 @@ based strategy. Never sleep between requests again! By default, requests are sent at the expected rate limits for each web service, typically 50 queries per second for free users. If you want to speed up or slow down requests, you can do that too, using `new GeoApiContext.Builder().queryRateLimit(qps).build()`. -Note that you still need to manually handle the [delay between the initial request and successive pages](https://developers.google.com/places/web-service/search#PlaceSearchPaging) when you're paging through multiple result sets. +Note that you still need to manually handle +the [delay between the initial request and successive pages](https://developers.google.com/places/web-service/search#PlaceSearchPaging) +when you're paging through multiple result sets. ### Retry on Failure @@ -247,18 +255,33 @@ contribute, please read [How to Contribute][contrib]. [apikey]: https://developers.google.com/maps/faq#keysystem + [clientid]: https://developers.google.com/maps/documentation/business/webservices/auth + [contrib]: https://github.com/googlemaps/google-maps-services-java/blob/main/CONTRIB.md + [Directions API]: https://developers.google.com/maps/documentation/directions + [directions-key]: https://developers.google.com/maps/documentation/directions/get-api-key#key + [directions-client-id]: https://developers.google.com/maps/documentation/directions/get-api-key#client-id + [Distance Matrix API]: https://developers.google.com/maps/documentation/distancematrix + [Elevation API]: https://developers.google.com/maps/documentation/elevation + [Geocoding API]: https://developers.google.com/maps/documentation/geocoding + [Google Maps API Web Services]: https://developers.google.com/maps/apis-by-platform#web_service_apis + [issues]: https://github.com/googlemaps/google-maps-services-java/issues + [Maps Static API]: https://developers.google.com/maps/documentation/maps-static/ + [Places API]: https://developers.google.com/places/web-service/ + [Time Zone API]: https://developers.google.com/maps/documentation/timezone + [Roads API]: https://developers.google.com/maps/documentation/roads + [Making the most of the Google Maps Web Service APIs]: https://maps-apis.googleblog.com/2016/09/making-most-of-google-maps-web-service.html diff --git a/build.gradle b/build.gradle index e67abbdde..2f12b4f95 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,14 @@ import org.apache.tools.ant.filters.ReplaceTokens + import java.time.Duration buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' - } + repositories { + mavenCentral() + } + dependencies { + classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.8.3' + } } diff --git a/gradle.properties b/gradle.properties index aca88b207..fc76b1f6a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,8 +3,6 @@ signing.keyId= signing.password= signing.secretKeyRingFile= - sonatypeUsername= sonatypePassword= - githubPassword= diff --git a/src/main/java/com/google/maps/DirectionsApi.java b/src/main/java/com/google/maps/DirectionsApi.java index 415ece739..8f8e9d632 100644 --- a/src/main/java/com/google/maps/DirectionsApi.java +++ b/src/main/java/com/google/maps/DirectionsApi.java @@ -63,34 +63,6 @@ public static DirectionsApiRequest getDirections( return new DirectionsApiRequest(context).origin(origin).destination(destination); } - public static class Response implements ApiResponse { - public String status; - public String errorMessage; - public GeocodedWaypoint[] geocodedWaypoints; - public DirectionsRoute[] routes; - - @Override - public boolean successful() { - return "OK".equals(status); - } - - @Override - public DirectionsResult getResult() { - DirectionsResult result = new DirectionsResult(); - result.geocodedWaypoints = geocodedWaypoints; - result.routes = routes; - return result; - } - - @Override - public ApiException getError() { - if (successful()) { - return null; - } - return ApiException.from(status, errorMessage); - } - } - /** * Directions may be calculated that adhere to certain restrictions. This is configured by calling * {@link com.google.maps.DirectionsApiRequest#avoid} or {@link @@ -132,4 +104,32 @@ public String toUrlValue() { return restriction; } } + + public static class Response implements ApiResponse { + public String status; + public String errorMessage; + public GeocodedWaypoint[] geocodedWaypoints; + public DirectionsRoute[] routes; + + @Override + public boolean successful() { + return "OK".equals(status); + } + + @Override + public DirectionsResult getResult() { + DirectionsResult result = new DirectionsResult(); + result.geocodedWaypoints = geocodedWaypoints; + result.routes = routes; + return result; + } + + @Override + public ApiException getError() { + if (successful()) { + return null; + } + return ApiException.from(status, errorMessage); + } + } } diff --git a/src/main/java/com/google/maps/DirectionsApiRequest.java b/src/main/java/com/google/maps/DirectionsApiRequest.java index c10186cf2..a2b5645ed 100644 --- a/src/main/java/com/google/maps/DirectionsApiRequest.java +++ b/src/main/java/com/google/maps/DirectionsApiRequest.java @@ -18,26 +18,20 @@ import static com.google.maps.internal.StringJoin.join; import static java.util.Objects.requireNonNull; -import com.google.maps.model.DirectionsResult; -import com.google.maps.model.LatLng; -import com.google.maps.model.TrafficModel; -import com.google.maps.model.TransitMode; -import com.google.maps.model.TransitRoutingPreference; -import com.google.maps.model.TravelMode; -import com.google.maps.model.Unit; +import com.google.maps.model.*; import java.time.Instant; /** Request for the Directions API. */ public class DirectionsApiRequest extends PendingResultBase { + protected boolean optimizeWaypoints; + protected Waypoint[] waypoints; + public DirectionsApiRequest(GeoApiContext context) { super(context, DirectionsApi.API_CONFIG, DirectionsApi.Response.class); } - protected boolean optimizeWaypoints; - protected Waypoint[] waypoints; - @Override protected void validateRequest() { if (!params().containsKey("origin")) { diff --git a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java index 1f1e63439..12c7ee49b 100644 --- a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java +++ b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java @@ -19,13 +19,7 @@ import com.google.maps.DirectionsApi.RouteRestriction; import com.google.maps.DistanceMatrixApi.Response; -import com.google.maps.model.DistanceMatrix; -import com.google.maps.model.LatLng; -import com.google.maps.model.TrafficModel; -import com.google.maps.model.TransitMode; -import com.google.maps.model.TransitRoutingPreference; -import com.google.maps.model.TravelMode; -import com.google.maps.model.Unit; +import com.google.maps.model.*; import java.time.Instant; /** A request to the Distance Matrix API. */ @@ -127,10 +121,10 @@ public DistanceMatrixApiRequest avoid(RouteRestriction restriction) { * contain text within distance fields to indicate the distance of the calculated route. * * @param unit One of {@link Unit#METRIC} or {@link Unit#IMPERIAL}. + * @return Returns this {@code DistanceMatrixApiRequest} for call chaining. * @see * Unit systems in the Distance Matrix API - * @return Returns this {@code DistanceMatrixApiRequest} for call chaining. */ public DistanceMatrixApiRequest units(Unit unit) { return param("units", unit); diff --git a/src/main/java/com/google/maps/ElevationApi.java b/src/main/java/com/google/maps/ElevationApi.java index adad922c3..437e20800 100644 --- a/src/main/java/com/google/maps/ElevationApi.java +++ b/src/main/java/com/google/maps/ElevationApi.java @@ -110,6 +110,19 @@ public static PendingResult getByPoint(GeoApiContext context, L return context.get(API_CONFIG, SingularResponse.class, "locations", location.toString()); } + /** + * Retrieves the elevations of an encoded polyline path. + * + * @param context The {@link GeoApiContext} to make requests through. + * @param encodedPolyline The encoded polyline to retrieve elevations for. + * @return The elevations as a {@link PendingResult}. + */ + public static PendingResult getByPoints( + GeoApiContext context, EncodedPolyline encodedPolyline) { + return context.get( + API_CONFIG, MultiResponse.class, "locations", "enc:" + encodedPolyline.getEncodedPath()); + } + private static class SingularResponse implements ApiResponse { public String status; public String errorMessage; @@ -134,19 +147,6 @@ public ApiException getError() { } } - /** - * Retrieves the elevations of an encoded polyline path. - * - * @param context The {@link GeoApiContext} to make requests through. - * @param encodedPolyline The encoded polyline to retrieve elevations for. - * @return The elevations as a {@link PendingResult}. - */ - public static PendingResult getByPoints( - GeoApiContext context, EncodedPolyline encodedPolyline) { - return context.get( - API_CONFIG, MultiResponse.class, "locations", "enc:" + encodedPolyline.getEncodedPath()); - } - private static class MultiResponse implements ApiResponse { public String status; public String errorMessage; diff --git a/src/main/java/com/google/maps/FindPlaceFromTextRequest.java b/src/main/java/com/google/maps/FindPlaceFromTextRequest.java index 667738b18..faa6371b1 100644 --- a/src/main/java/com/google/maps/FindPlaceFromTextRequest.java +++ b/src/main/java/com/google/maps/FindPlaceFromTextRequest.java @@ -38,22 +38,6 @@ public FindPlaceFromTextRequest(GeoApiContext context) { super(context, API_CONFIG, Response.class); } - public enum InputType implements UrlValue { - TEXT_QUERY("textquery"), - PHONE_NUMBER("phonenumber"); - - private final String inputType; - - InputType(final String inputType) { - this.inputType = inputType; - } - - @Override - public String toUrlValue() { - return this.inputType; - } - } - /** * The text input specifying which place to search for (for example, a name, address, or phone * number). @@ -106,30 +90,19 @@ protected void validateRequest() { } } - public static class Response implements ApiResponse { - - public String status; - public PlacesSearchResult candidates[]; - public String errorMessage; + public enum InputType implements UrlValue { + TEXT_QUERY("textquery"), + PHONE_NUMBER("phonenumber"); - @Override - public boolean successful() { - return "OK".equals(status) || "ZERO_RESULTS".equals(status); - } + private final String inputType; - @Override - public FindPlaceFromText getResult() { - FindPlaceFromText result = new FindPlaceFromText(); - result.candidates = candidates; - return result; + InputType(final String inputType) { + this.inputType = inputType; } @Override - public ApiException getError() { - if (successful()) { - return null; - } - return ApiException.from(status, errorMessage); + public String toUrlValue() { + return this.inputType; } } @@ -163,6 +136,33 @@ public String toUrlValue() { public interface LocationBias extends UrlValue {} + public static class Response implements ApiResponse { + + public String status; + public PlacesSearchResult candidates[]; + public String errorMessage; + + @Override + public boolean successful() { + return "OK".equals(status) || "ZERO_RESULTS".equals(status); + } + + @Override + public FindPlaceFromText getResult() { + FindPlaceFromText result = new FindPlaceFromText(); + result.candidates = candidates; + return result; + } + + @Override + public ApiException getError() { + if (successful()) { + return null; + } + return ApiException.from(status, errorMessage); + } + } + public static class LocationBiasIP implements LocationBias { @Override public String toUrlValue() { diff --git a/src/main/java/com/google/maps/GaeRequestHandler.java b/src/main/java/com/google/maps/GaeRequestHandler.java index d42712647..ef7bee76b 100644 --- a/src/main/java/com/google/maps/GaeRequestHandler.java +++ b/src/main/java/com/google/maps/GaeRequestHandler.java @@ -17,12 +17,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; -import com.google.appengine.api.urlfetch.FetchOptions; -import com.google.appengine.api.urlfetch.HTTPHeader; -import com.google.appengine.api.urlfetch.HTTPMethod; -import com.google.appengine.api.urlfetch.HTTPRequest; -import com.google.appengine.api.urlfetch.URLFetchService; -import com.google.appengine.api.urlfetch.URLFetchServiceFactory; +import com.google.appengine.api.urlfetch.*; import com.google.gson.FieldNamingPolicy; import com.google.maps.GeoApiContext.RequestHandler; import com.google.maps.internal.ApiResponse; diff --git a/src/main/java/com/google/maps/GeoApiContext.java b/src/main/java/com/google/maps/GeoApiContext.java index 4d94fd65a..f7c39cb94 100644 --- a/src/main/java/com/google/maps/GeoApiContext.java +++ b/src/main/java/com/google/maps/GeoApiContext.java @@ -18,11 +18,7 @@ import com.google.gson.FieldNamingPolicy; import com.google.maps.errors.ApiException; import com.google.maps.errors.OverQueryLimitException; -import com.google.maps.internal.ApiConfig; -import com.google.maps.internal.ApiResponse; -import com.google.maps.internal.ExceptionsAllowedToRetry; -import com.google.maps.internal.HttpHeaders; -import com.google.maps.internal.UrlSigner; +import com.google.maps.internal.*; import com.google.maps.metrics.NoOpRequestMetricsReporter; import com.google.maps.metrics.RequestMetrics; import com.google.maps.metrics.RequestMetricsReporter; @@ -47,9 +43,9 @@ * *

GeoApiContexts should be shared

* - * GeoApiContext works best when you create a single GeoApiContext instance, or one per API key, and - * reuse it for all your Google Geo API queries. This is because each GeoApiContext manages its own - * thread pool, back-end client, and other resources. + *

GeoApiContext works best when you create a single GeoApiContext instance, or one per API key, + * and reuse it for all your Google Geo API queries. This is because each GeoApiContext manages its + * own thread pool, back-end client, and other resources. * *

When you are finished with a GeoApiContext object, you must call {@link #shutdown()} on it to * release its resources. @@ -107,60 +103,6 @@ public void close() throws IOException { shutdown(); } - /** - * The service provider interface that enables requests to be handled via switchable back ends. - * There are supplied implementations of this interface for both OkHttp and Google App Engine's - * URL Fetch API. - * - * @see OkHttpRequestHandler - * @see GaeRequestHandler - */ - public interface RequestHandler { - - > PendingResult handle( - String hostName, - String url, - Map headers, - Class clazz, - FieldNamingPolicy fieldNamingPolicy, - long errorTimeout, - Integer maxRetries, - ExceptionsAllowedToRetry exceptionsAllowedToRetry, - RequestMetrics metrics); - - > PendingResult handlePost( - String hostName, - String url, - String payload, - Map headers, - Class clazz, - FieldNamingPolicy fieldNamingPolicy, - long errorTimeout, - Integer maxRetries, - ExceptionsAllowedToRetry exceptionsAllowedToRetry, - RequestMetrics metrics); - - void shutdown(); - - /** Builder pattern for {@code GeoApiContext.RequestHandler}. */ - interface Builder { - - Builder connectTimeout(long timeout, TimeUnit unit); - - Builder readTimeout(long timeout, TimeUnit unit); - - Builder writeTimeout(long timeout, TimeUnit unit); - - Builder queriesPerSecond(int maxQps); - - Builder proxy(Proxy proxy); - - Builder proxyAuthentication(String proxyUserName, String proxyUserPassword); - - RequestHandler build(); - } - } - /** * Shut down this GeoApiContext instance, reclaiming resources. After shutdown() has been called, * no further queries may be done against this instance. @@ -369,6 +311,60 @@ private void checkContext(boolean canUseClientId) { } } + /** + * The service provider interface that enables requests to be handled via switchable back ends. + * There are supplied implementations of this interface for both OkHttp and Google App Engine's + * URL Fetch API. + * + * @see OkHttpRequestHandler + * @see GaeRequestHandler + */ + public interface RequestHandler { + + > PendingResult handle( + String hostName, + String url, + Map headers, + Class clazz, + FieldNamingPolicy fieldNamingPolicy, + long errorTimeout, + Integer maxRetries, + ExceptionsAllowedToRetry exceptionsAllowedToRetry, + RequestMetrics metrics); + + > PendingResult handlePost( + String hostName, + String url, + String payload, + Map headers, + Class clazz, + FieldNamingPolicy fieldNamingPolicy, + long errorTimeout, + Integer maxRetries, + ExceptionsAllowedToRetry exceptionsAllowedToRetry, + RequestMetrics metrics); + + void shutdown(); + + /** Builder pattern for {@code GeoApiContext.RequestHandler}. */ + interface Builder { + + Builder connectTimeout(long timeout, TimeUnit unit); + + Builder readTimeout(long timeout, TimeUnit unit); + + Builder writeTimeout(long timeout, TimeUnit unit); + + Builder queriesPerSecond(int maxQps); + + Builder proxy(Proxy proxy); + + Builder proxyAuthentication(String proxyUserName, String proxyUserPassword); + + RequestHandler build(); + } + } + /** The Builder for {@code GeoApiContext}. */ public static class Builder { @@ -424,9 +420,9 @@ public Builder baseUrlOverride(String baseUrl) { * Older name for {@link #baseUrlOverride(String)}. This was used back when testing was the only * use case foreseen for this. * - * @deprecated Use baseUrlOverride(String) instead. * @param baseUrl The URL to use, without a trailing slash, e.g. https://maps.googleapis.com * @return Returns this builder for call chaining. + * @deprecated Use baseUrlOverride(String) instead. */ @Deprecated Builder baseUrlForTesting(String baseUrl) { @@ -477,10 +473,10 @@ public Builder channel(String channel) { /** * Sets the default connect timeout for new connections. A value of 0 means no timeout. * - * @see java.net.URLConnection#setConnectTimeout(int) * @param timeout The connect timeout period in {@code unit}s. * @param unit The connect timeout time unit. * @return Returns this builder for call chaining. + * @see java.net.URLConnection#setConnectTimeout(int) */ public Builder connectTimeout(long timeout, TimeUnit unit) { builder.connectTimeout(timeout, unit); @@ -490,10 +486,10 @@ public Builder connectTimeout(long timeout, TimeUnit unit) { /** * Sets the default read timeout for new connections. A value of 0 means no timeout. * - * @see java.net.URLConnection#setReadTimeout(int) * @param timeout The read timeout period in {@code unit}s. * @param unit The read timeout time unit. * @return Returns this builder for call chaining. + * @see java.net.URLConnection#setReadTimeout(int) */ public Builder readTimeout(long timeout, TimeUnit unit) { builder.readTimeout(timeout, unit); diff --git a/src/main/java/com/google/maps/GeocodingApiRequest.java b/src/main/java/com/google/maps/GeocodingApiRequest.java index 4a4d251ef..0591953bd 100644 --- a/src/main/java/com/google/maps/GeocodingApiRequest.java +++ b/src/main/java/com/google/maps/GeocodingApiRequest.java @@ -18,11 +18,7 @@ import static com.google.maps.internal.StringJoin.join; import com.google.maps.internal.ApiConfig; -import com.google.maps.model.AddressType; -import com.google.maps.model.ComponentFilter; -import com.google.maps.model.GeocodingResult; -import com.google.maps.model.LatLng; -import com.google.maps.model.LocationType; +import com.google.maps.model.*; /** A request for the Geocoding API. */ public class GeocodingApiRequest diff --git a/src/main/java/com/google/maps/ImageResult.java b/src/main/java/com/google/maps/ImageResult.java index 8083760b5..6c718648c 100644 --- a/src/main/java/com/google/maps/ImageResult.java +++ b/src/main/java/com/google/maps/ImageResult.java @@ -22,19 +22,17 @@ /** {@code ImageResult} is the object returned from API end points that return images. */ public class ImageResult implements Serializable { - public ImageResult(String contentType, byte[] imageData) { - this.imageData = imageData; - this.contentType = contentType; - } - private static final long serialVersionUID = 1L; - /** The image data from the Photos API call. */ public final byte[] imageData; - /** The Content-Type header of the returned result. */ public final String contentType; + public ImageResult(String contentType, byte[] imageData) { + this.imageData = imageData; + this.contentType = contentType; + } + /** * ImageResult.Response is a type system hack to enable API endpoints to return a * ImageResult. diff --git a/src/main/java/com/google/maps/NearbySearchRequest.java b/src/main/java/com/google/maps/NearbySearchRequest.java index 406d060f9..8d35e4857 100644 --- a/src/main/java/com/google/maps/NearbySearchRequest.java +++ b/src/main/java/com/google/maps/NearbySearchRequest.java @@ -21,12 +21,7 @@ import com.google.maps.errors.ApiException; import com.google.maps.internal.ApiConfig; import com.google.maps.internal.ApiResponse; -import com.google.maps.model.LatLng; -import com.google.maps.model.PlaceType; -import com.google.maps.model.PlacesSearchResponse; -import com.google.maps.model.PlacesSearchResult; -import com.google.maps.model.PriceLevel; -import com.google.maps.model.RankBy; +import com.google.maps.model.*; /** * A Nearby @@ -162,9 +157,9 @@ public NearbySearchRequest type(PlaceType type) { * Restricts the results to places matching the specified type. Provides support for multiple * types. * - * @deprecated Multiple search types are ignored by the Places API. * @param types The {@link PlaceType}s to restrict results to. * @return Returns this {@code NearbyApiRequest} for call chaining. + * @deprecated Multiple search types are ignored by the Places API. */ @Deprecated public NearbySearchRequest type(PlaceType... types) { diff --git a/src/main/java/com/google/maps/OkHttpRequestHandler.java b/src/main/java/com/google/maps/OkHttpRequestHandler.java index 64b29f123..4b9115a6a 100644 --- a/src/main/java/com/google/maps/OkHttpRequestHandler.java +++ b/src/main/java/com/google/maps/OkHttpRequestHandler.java @@ -30,12 +30,7 @@ import java.util.Map.Entry; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; -import okhttp3.Credentials; -import okhttp3.Dispatcher; -import okhttp3.MediaType; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.RequestBody; +import okhttp3.*; /** * A strategy for handling URL requests using OkHttp. diff --git a/src/main/java/com/google/maps/PendingResultBase.java b/src/main/java/com/google/maps/PendingResultBase.java index 6c1aa560c..bff5daf15 100644 --- a/src/main/java/com/google/maps/PendingResultBase.java +++ b/src/main/java/com/google/maps/PendingResultBase.java @@ -22,11 +22,7 @@ import com.google.maps.internal.StringJoin; import com.google.maps.internal.StringJoin.UrlValue; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Base implementation for {@code PendingResult}. @@ -169,9 +165,9 @@ protected Map> params() { * list may not be exhaustive. * * @param language The language code, e.g. "en-AU" or "es". + * @return Returns the request for call chaining. * @see List of supported domain * languages - * @return Returns the request for call chaining. */ public final A language(String language) { return param("language", language); diff --git a/src/main/java/com/google/maps/PlaceAutocompleteRequest.java b/src/main/java/com/google/maps/PlaceAutocompleteRequest.java index 077c3c79c..94155912f 100644 --- a/src/main/java/com/google/maps/PlaceAutocompleteRequest.java +++ b/src/main/java/com/google/maps/PlaceAutocompleteRequest.java @@ -46,52 +46,6 @@ protected PlaceAutocompleteRequest(GeoApiContext context) { super(context, API_CONFIG, Response.class); } - /** SessionToken represents an Autocomplete session. */ - public static final class SessionToken implements UrlValue, Serializable { - - private static final long serialVersionUID = 1L; - - private UUID uuid; - - /** This constructor creates a new session. */ - public SessionToken() { - uuid = UUID.randomUUID(); - } - - /** - * Construct a session that is a continuation of a previous session. - * - * @param uuid The universally unique identifier for this session. - */ - public SessionToken(UUID uuid) { - this.uuid = uuid; - } - - /** - * Construct a session that is a continuation of a previous session. - * - * @param token The unique String to be used as the seed for the session identifier. - */ - public SessionToken(String token) { - this.uuid = UUID.nameUUIDFromBytes(token.getBytes()); - } - - /** - * Retrieve the universally unique identifier for this session. This enables you to recreate the - * session token in a later context. - * - * @return Returns the universally unique identifier for this session. - */ - public UUID getUUID() { - return uuid; - } - - @Override - public String toUrlValue() { - return uuid.toString(); - } - } - /** * Sets the SessionToken for this request. Using session token makes sure the autocomplete is * priced per session, instead of per keystroke. @@ -211,6 +165,52 @@ protected void validateRequest() { } } + /** SessionToken represents an Autocomplete session. */ + public static final class SessionToken implements UrlValue, Serializable { + + private static final long serialVersionUID = 1L; + + private UUID uuid; + + /** This constructor creates a new session. */ + public SessionToken() { + uuid = UUID.randomUUID(); + } + + /** + * Construct a session that is a continuation of a previous session. + * + * @param uuid The universally unique identifier for this session. + */ + public SessionToken(UUID uuid) { + this.uuid = uuid; + } + + /** + * Construct a session that is a continuation of a previous session. + * + * @param token The unique String to be used as the seed for the session identifier. + */ + public SessionToken(String token) { + this.uuid = UUID.nameUUIDFromBytes(token.getBytes()); + } + + /** + * Retrieve the universally unique identifier for this session. This enables you to recreate the + * session token in a later context. + * + * @return Returns the universally unique identifier for this session. + */ + public UUID getUUID() { + return uuid; + } + + @Override + public String toUrlValue() { + return uuid.toString(); + } + } + public static class Response implements ApiResponse { public String status; public AutocompletePrediction predictions[]; diff --git a/src/main/java/com/google/maps/PlaceDetailsRequest.java b/src/main/java/com/google/maps/PlaceDetailsRequest.java index 7e2a4b1cf..a6377e2c0 100644 --- a/src/main/java/com/google/maps/PlaceDetailsRequest.java +++ b/src/main/java/com/google/maps/PlaceDetailsRequest.java @@ -111,34 +111,6 @@ protected void validateRequest() { } } - public static class Response implements ApiResponse { - public String status; - public PlaceDetails result; - public String[] htmlAttributions; - public String errorMessage; - - @Override - public boolean successful() { - return "OK".equals(status) || "ZERO_RESULTS".equals(status); - } - - @Override - public PlaceDetails getResult() { - if (result != null) { - result.htmlAttributions = htmlAttributions; - } - return result; - } - - @Override - public ApiException getError() { - if (successful()) { - return null; - } - return ApiException.from(status, errorMessage); - } - } - public enum FieldMask implements UrlValue { ADDRESS_COMPONENT("address_component"), ADR_ADDRESS("adr_address"), @@ -212,4 +184,32 @@ public String toUrlValue() { return field; } } + + public static class Response implements ApiResponse { + public String status; + public PlaceDetails result; + public String[] htmlAttributions; + public String errorMessage; + + @Override + public boolean successful() { + return "OK".equals(status) || "ZERO_RESULTS".equals(status); + } + + @Override + public PlaceDetails getResult() { + if (result != null) { + result.htmlAttributions = htmlAttributions; + } + return result; + } + + @Override + public ApiException getError() { + if (successful()) { + return null; + } + return ApiException.from(status, errorMessage); + } + } } diff --git a/src/main/java/com/google/maps/StaticMapsRequest.java b/src/main/java/com/google/maps/StaticMapsRequest.java index 327a84780..41e7ad1ec 100644 --- a/src/main/java/com/google/maps/StaticMapsRequest.java +++ b/src/main/java/com/google/maps/StaticMapsRequest.java @@ -102,26 +102,6 @@ public StaticMapsRequest scale(int scale) { return param("scale", scale); } - public enum ImageFormat implements UrlValue { - png("png"), - png8("png8"), - png32("png32"), - gif("gif"), - jpg("jpg"), - jpgBaseline("jpg-baseline"); - - private final String format; - - ImageFormat(String format) { - this.format = format; - } - - @Override - public String toUrlValue() { - return format; - } - } - /** * format defines the format of the resulting image. By default, the Google Static * Maps API creates PNG images. There are several possible formats including GIF, JPEG and PNG @@ -134,18 +114,6 @@ public StaticMapsRequest format(ImageFormat format) { return param("format", format); } - public enum StaticMapType implements UrlValue { - roadmap, - satellite, - terrain, - hybrid; - - @Override - public String toUrlValue() { - return this.name(); - } - } - /** * maptype defines the type of map to construct. * @@ -168,44 +136,105 @@ public StaticMapsRequest region(String region) { return param("region", region); } - public static class Markers implements UrlValue { + /** + * markers parameter defines a set of one or more markers (map pins) at a set of + * locations. Each marker defined within a single markers declaration must exhibit the same visual + * style; if you wish to display markers with different styles, you will need to supply multiple + * markers parameters with separate style information. + * + * @param markers A group of markers with the same style. + * @return Returns this {@code StaticMapsRequest} for call chaining. + */ + public StaticMapsRequest markers(Markers markers) { + return paramAddToList("markers", markers); + } - public enum MarkersSize implements UrlValue { - tiny, - mid, - small, - normal; + /** + * The path parameter defines a set of one or more locations connected by a path to + * overlay on the map image. + * + * @param path A path to render atop the map. + * @return Returns this {@code StaticMapsRequest} for call chaining. + */ + public StaticMapsRequest path(Path path) { + return paramAddToList("path", path); + } - @Override - public String toUrlValue() { - return this.name(); - } + /** + * The path parameter defines a set of one or more locations connected by a path to + * overlay on the map image. This variant of the method accepts the path as an EncodedPolyline. + * + * @param path A path to render atop the map, as an EncodedPolyline. + * @return Returns this {@code StaticMapsRequest} for call chaining. + */ + public StaticMapsRequest path(EncodedPolyline path) { + return paramAddToList("path", "enc:" + path.getEncodedPath()); + } + + /** + * visible instructs the Google Static Maps API service to construct a map such that + * the existing locations remain visible. + * + * @param visibleLocation The location to be made visible in the requested Static Map. + * @return Returns this {@code StaticMapsRequest} for call chaining. + */ + public StaticMapsRequest visible(LatLng visibleLocation) { + return param("visible", visibleLocation); + } + + /** + * visible instructs the Google Static Maps API service to construct a map such that + * the existing locations remain visible. + * + * @param visibleLocation The location to be made visible in the requested Static Map. + * @return Returns this {@code StaticMapsRequest} for call chaining. + */ + public StaticMapsRequest visible(String visibleLocation) { + return param("visible", visibleLocation); + } + + public enum ImageFormat implements UrlValue { + png("png"), + png8("png8"), + png32("png32"), + gif("gif"), + jpg("jpg"), + jpgBaseline("jpg-baseline"); + + private final String format; + + ImageFormat(String format) { + this.format = format; } - public enum CustomIconAnchor implements UrlValue { - top, - bottom, - left, - right, - center, - topleft, - topright, - bottomleft, - bottomright; + @Override + public String toUrlValue() { + return format; + } + } - @Override - public String toUrlValue() { - return this.name(); - } + public enum StaticMapType implements UrlValue { + roadmap, + satellite, + terrain, + hybrid; + + @Override + public String toUrlValue() { + return this.name(); } + } + public static class Markers implements UrlValue { + + private static final Pattern labelPattern = Pattern.compile("^[A-Z0-9]$"); + private final List locations = new ArrayList<>(); private MarkersSize size; private String color; private String label; private String customIconURL; private CustomIconAnchor anchorPoint; private Integer scale; - private final List locations = new ArrayList<>(); /** * Specifies the size of marker. If no size parameter is set, the marker will appear in its @@ -227,8 +256,6 @@ public void color(String color) { this.color = color; } - private static final Pattern labelPattern = Pattern.compile("^[A-Z0-9]$"); - /** * Specifies a single uppercase alphanumeric character from the set {A-Z, 0-9}. * @@ -317,28 +344,44 @@ public String toUrlValue() { return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()])); } - } - /** - * markers parameter defines a set of one or more markers (map pins) at a set of - * locations. Each marker defined within a single markers declaration must exhibit the same visual - * style; if you wish to display markers with different styles, you will need to supply multiple - * markers parameters with separate style information. - * - * @param markers A group of markers with the same style. - * @return Returns this {@code StaticMapsRequest} for call chaining. - */ - public StaticMapsRequest markers(Markers markers) { - return paramAddToList("markers", markers); + public enum MarkersSize implements UrlValue { + tiny, + mid, + small, + normal; + + @Override + public String toUrlValue() { + return this.name(); + } + } + + public enum CustomIconAnchor implements UrlValue { + top, + bottom, + left, + right, + center, + topleft, + topright, + bottomleft, + bottomright; + + @Override + public String toUrlValue() { + return this.name(); + } + } } public static class Path implements UrlValue { + private final List points = new ArrayList<>(); private int weight; private String color; private String fillcolor; private boolean geodesic; - private final List points = new ArrayList<>(); /** * Specifies the thickness of the path in pixels. If no weight parameter is set, the path will @@ -423,48 +466,4 @@ public String toUrlValue() { return StringJoin.join('|', urlParts.toArray(new String[urlParts.size()])); } } - - /** - * The path parameter defines a set of one or more locations connected by a path to - * overlay on the map image. - * - * @param path A path to render atop the map. - * @return Returns this {@code StaticMapsRequest} for call chaining. - */ - public StaticMapsRequest path(Path path) { - return paramAddToList("path", path); - } - - /** - * The path parameter defines a set of one or more locations connected by a path to - * overlay on the map image. This variant of the method accepts the path as an EncodedPolyline. - * - * @param path A path to render atop the map, as an EncodedPolyline. - * @return Returns this {@code StaticMapsRequest} for call chaining. - */ - public StaticMapsRequest path(EncodedPolyline path) { - return paramAddToList("path", "enc:" + path.getEncodedPath()); - } - - /** - * visible instructs the Google Static Maps API service to construct a map such that - * the existing locations remain visible. - * - * @param visibleLocation The location to be made visible in the requested Static Map. - * @return Returns this {@code StaticMapsRequest} for call chaining. - */ - public StaticMapsRequest visible(LatLng visibleLocation) { - return param("visible", visibleLocation); - } - - /** - * visible instructs the Google Static Maps API service to construct a map such that - * the existing locations remain visible. - * - * @param visibleLocation The location to be made visible in the requested Static Map. - * @return Returns this {@code StaticMapsRequest} for call chaining. - */ - public StaticMapsRequest visible(String visibleLocation) { - return param("visible", visibleLocation); - } } diff --git a/src/main/java/com/google/maps/TextSearchRequest.java b/src/main/java/com/google/maps/TextSearchRequest.java index 0f73f6d5b..52e7fa6df 100644 --- a/src/main/java/com/google/maps/TextSearchRequest.java +++ b/src/main/java/com/google/maps/TextSearchRequest.java @@ -19,12 +19,7 @@ import com.google.maps.errors.ApiException; import com.google.maps.internal.ApiConfig; import com.google.maps.internal.ApiResponse; -import com.google.maps.model.LatLng; -import com.google.maps.model.PlaceType; -import com.google.maps.model.PlacesSearchResponse; -import com.google.maps.model.PlacesSearchResult; -import com.google.maps.model.PriceLevel; -import com.google.maps.model.RankBy; +import com.google.maps.model.*; /** * A Text diff --git a/src/main/java/com/google/maps/internal/GaePendingResult.java b/src/main/java/com/google/maps/internal/GaePendingResult.java index 9f6b2a13d..17244e4e6 100644 --- a/src/main/java/com/google/maps/internal/GaePendingResult.java +++ b/src/main/java/com/google/maps/internal/GaePendingResult.java @@ -29,19 +29,9 @@ import com.google.maps.errors.ApiException; import com.google.maps.errors.UnknownErrorException; import com.google.maps.metrics.RequestMetrics; -import com.google.maps.model.AddressComponentType; -import com.google.maps.model.AddressType; -import com.google.maps.model.Distance; -import com.google.maps.model.Duration; -import com.google.maps.model.EncodedPolyline; -import com.google.maps.model.Fare; -import com.google.maps.model.LatLng; -import com.google.maps.model.LocationType; +import com.google.maps.model.*; import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek; import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType; -import com.google.maps.model.PriceLevel; -import com.google.maps.model.TravelMode; -import com.google.maps.model.VehicleType; import java.io.IOException; import java.nio.charset.Charset; import java.time.Instant; @@ -62,6 +52,8 @@ * request. */ public class GaePendingResult> implements PendingResult { + private static final Logger LOG = LoggerFactory.getLogger(GaePendingResult.class.getName()); + private static final List RETRY_ERROR_CODES = Arrays.asList(500, 503, 504); private final HTTPRequest request; private final URLFetchService client; private final Class responseClass; @@ -69,15 +61,11 @@ public class GaePendingResult> implements PendingRes private final Integer maxRetries; private final ExceptionsAllowedToRetry exceptionsAllowedToRetry; private final RequestMetrics metrics; - private long errorTimeOut; private int retryCounter = 0; private long cumulativeSleepTime = 0; private Future call; - private static final Logger LOG = LoggerFactory.getLogger(GaePendingResult.class.getName()); - private static final List RETRY_ERROR_CODES = Arrays.asList(500, 503, 504); - /** * @param request HTTP request to execute. * @param client The client used to execute the request. diff --git a/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java b/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java index 5102a4c0d..574eee435 100644 --- a/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java +++ b/src/main/java/com/google/maps/internal/GeolocationResponseAdapter.java @@ -39,7 +39,8 @@ public class GeolocationResponseAdapter extends TypeAdapter * - * Error Case: The response contains an object with a single error object with the following keys: + *

Error Case: The response contains an object with a single error object with the following + * keys: * *

code: This is the same as the HTTP status of the response. {@code message}: A short * description of the error. {@code errors}: A list of errors which occurred. Each error contains diff --git a/src/main/java/com/google/maps/internal/OkHttpPendingResult.java b/src/main/java/com/google/maps/internal/OkHttpPendingResult.java index 2f68ef54f..8c4519561 100644 --- a/src/main/java/com/google/maps/internal/OkHttpPendingResult.java +++ b/src/main/java/com/google/maps/internal/OkHttpPendingResult.java @@ -24,18 +24,9 @@ import com.google.maps.PendingResult; import com.google.maps.errors.ApiException; import com.google.maps.metrics.RequestMetrics; -import com.google.maps.model.AddressComponentType; -import com.google.maps.model.AddressType; -import com.google.maps.model.Distance; -import com.google.maps.model.Duration; -import com.google.maps.model.Fare; -import com.google.maps.model.LatLng; -import com.google.maps.model.LocationType; +import com.google.maps.model.*; import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek; import com.google.maps.model.PlaceDetails.Review.AspectRating.RatingType; -import com.google.maps.model.PriceLevel; -import com.google.maps.model.TravelMode; -import com.google.maps.model.VehicleType; import java.io.IOException; import java.time.Instant; import java.time.LocalTime; @@ -44,12 +35,7 @@ import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; -import okhttp3.Call; -import okhttp3.Callback; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import okhttp3.ResponseBody; +import okhttp3.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,13 +48,14 @@ */ public class OkHttpPendingResult> implements PendingResult, Callback { + private static final Logger LOG = LoggerFactory.getLogger(OkHttpPendingResult.class.getName()); + private static final List RETRY_ERROR_CODES = Arrays.asList(500, 503, 504); private final Request request; private final OkHttpClient client; private final Class responseClass; private final FieldNamingPolicy fieldNamingPolicy; private final Integer maxRetries; private final RequestMetrics metrics; - private Call call; private Callback callback; private long errorTimeOut; @@ -76,9 +63,6 @@ public class OkHttpPendingResult> private long cumulativeSleepTime = 0; private ExceptionsAllowedToRetry exceptionsAllowedToRetry; - private static final Logger LOG = LoggerFactory.getLogger(OkHttpPendingResult.class.getName()); - private static final List RETRY_ERROR_CODES = Arrays.asList(500, 503, 504); - /** * @param request HTTP request to execute. * @param client The client used to execute the request. @@ -116,25 +100,6 @@ public void setCallback(Callback callback) { call.enqueue(this); } - /** Preserve a request/response pair through an asynchronous callback. */ - private class QueuedResponse { - private final OkHttpPendingResult request; - private final Response response; - private final IOException e; - - public QueuedResponse(OkHttpPendingResult request, Response response) { - this.request = request; - this.response = response; - this.e = null; - } - - public QueuedResponse(OkHttpPendingResult request, IOException e) { - this.request = request; - this.response = null; - this.e = e; - } - } - @Override public T await() throws ApiException, IOException, InterruptedException { // Handle sleeping for retried requests @@ -341,4 +306,23 @@ private boolean shouldRetry(ApiException exception) { && cumulativeSleepTime < errorTimeOut && (maxRetries == null || retryCounter < maxRetries); } + + /** Preserve a request/response pair through an asynchronous callback. */ + private class QueuedResponse { + private final OkHttpPendingResult request; + private final Response response; + private final IOException e; + + public QueuedResponse(OkHttpPendingResult request, Response response) { + this.request = request; + this.response = response; + this.e = null; + } + + public QueuedResponse(OkHttpPendingResult request, IOException e) { + this.request = request; + this.response = null; + this.e = e; + } + } } diff --git a/src/main/java/com/google/maps/internal/RateLimitExecutorService.java b/src/main/java/com/google/maps/internal/RateLimitExecutorService.java index 1c94b0b33..6aef1b87a 100644 --- a/src/main/java/com/google/maps/internal/RateLimitExecutorService.java +++ b/src/main/java/com/google/maps/internal/RateLimitExecutorService.java @@ -18,17 +18,7 @@ import com.google.maps.internal.ratelimiter.RateLimiter; import java.util.Collection; import java.util.List; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.SynchronousQueue; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; +import java.util.concurrent.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,7 +28,7 @@ public class RateLimitExecutorService implements ExecutorService, Runnable { private static final Logger LOG = LoggerFactory.getLogger(RateLimitExecutorService.class.getName()); private static final int DEFAULT_QUERIES_PER_SECOND = 50; - + final Thread delayThread; // It's important we set Ok's second arg to threadFactory(.., true) to ensure the threads are // killed when the app exits. For synchronous requests this is ideal but it means any async // requests still pending after termination will be killed. @@ -50,13 +40,10 @@ public class RateLimitExecutorService implements ExecutorService, Runnable { TimeUnit.SECONDS, new SynchronousQueue(), threadFactory("Rate Limited Dispatcher", true)); - private final BlockingQueue queue = new LinkedBlockingQueue<>(); private final RateLimiter rateLimiter = RateLimiter.create(DEFAULT_QUERIES_PER_SECOND, 1, TimeUnit.SECONDS); - final Thread delayThread; - public RateLimitExecutorService() { setQueriesPerSecond(DEFAULT_QUERIES_PER_SECOND); delayThread = new Thread(this); @@ -65,6 +52,17 @@ public RateLimitExecutorService() { delayThread.start(); } + private static ThreadFactory threadFactory(final String name, final boolean daemon) { + return new ThreadFactory() { + @Override + public Thread newThread(Runnable runnable) { + Thread result = new Thread(runnable, name); + result.setDaemon(daemon); + return result; + } + }; + } + public void setQueriesPerSecond(int maxQps) { this.rateLimiter.setRate(maxQps); } @@ -85,17 +83,6 @@ public void run() { } } - private static ThreadFactory threadFactory(final String name, final boolean daemon) { - return new ThreadFactory() { - @Override - public Thread newThread(Runnable runnable) { - Thread result = new Thread(runnable, name); - result.setDaemon(daemon); - return result; - } - }; - } - @Override public void execute(Runnable runnable) { queue.add(runnable); diff --git a/src/main/java/com/google/maps/internal/StringJoin.java b/src/main/java/com/google/maps/internal/StringJoin.java index 9af4e0b10..f52b0dd7d 100644 --- a/src/main/java/com/google/maps/internal/StringJoin.java +++ b/src/main/java/com/google/maps/internal/StringJoin.java @@ -20,15 +20,6 @@ /** Utility class to join strings. */ public class StringJoin { - /** - * Marker Interface to enable the URL Value enums in {@link com.google.maps.DirectionsApi} to be - * string joinable. - */ - public interface UrlValue { - /** @return the object, represented as a URL value (not URL encoded). */ - String toUrlValue(); - } - private StringJoin() {} public static String join(char delim, String... parts) { @@ -70,4 +61,13 @@ public static String join(char delim, UrlValue... parts) { return join(delim, strings); } + + /** + * Marker Interface to enable the URL Value enums in {@link com.google.maps.DirectionsApi} to be + * string joinable. + */ + public interface UrlValue { + /** @return the object, represented as a URL value (not URL encoded). */ + String toUrlValue(); + } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java index 7db4840f8..4ba8860d2 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java @@ -31,9 +31,7 @@ import static com.google.maps.internal.ratelimiter.Preconditions.checkArgument; import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull; import static java.lang.Math.max; -import static java.util.concurrent.TimeUnit.MICROSECONDS; -import static java.util.concurrent.TimeUnit.NANOSECONDS; -import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.concurrent.TimeUnit.*; import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothBursty; import com.google.maps.internal.ratelimiter.SmoothRateLimiter.SmoothWarmingUp; @@ -97,6 +95,18 @@ * @since 13.0 */ public abstract class RateLimiter { + /** + * The underlying timer; used both to measure elapsed time and sleep as necessary. A separate + * object to facilitate testing. + */ + private final SleepingStopwatch stopwatch; + // Can't be initialized in the constructor because mocks don't call the constructor. + private volatile Object mutexDoNotUseDirectly; + + RateLimiter(SleepingStopwatch stopwatch) { + this.stopwatch = checkNotNull(stopwatch); + } + /** * Creates a {@code RateLimiter} with the specified stable throughput, given as "permits per * second" (commonly referred to as QPS, queries per second). @@ -176,14 +186,32 @@ static RateLimiter create( return rateLimiter; } - /** - * The underlying timer; used both to measure elapsed time and sleep as necessary. A separate - * object to facilitate testing. - */ - private final SleepingStopwatch stopwatch; + private static void checkPermits(int permits) { + checkArgument(permits > 0, "Requested permits (%s) must be positive", permits); + } - // Can't be initialized in the constructor because mocks don't call the constructor. - private volatile Object mutexDoNotUseDirectly; + /** Invokes {@code unit.}{@link TimeUnit#sleep(long) sleep(sleepFor)} uninterruptibly. */ + private static void sleepUninterruptibly(long sleepFor, TimeUnit unit) { + boolean interrupted = false; + try { + long remainingNanos = unit.toNanos(sleepFor); + long end = System.nanoTime() + remainingNanos; + while (true) { + try { + // TimeUnit.sleep() treats negative timeouts just like zero. + NANOSECONDS.sleep(remainingNanos); + return; + } catch (InterruptedException e) { + interrupted = true; + remainingNanos = end - System.nanoTime(); + } + } + } finally { + if (interrupted) { + Thread.currentThread().interrupt(); + } + } + } private Object mutex() { Object mutex = mutexDoNotUseDirectly; @@ -198,8 +226,18 @@ private Object mutex() { return mutex; } - RateLimiter(SleepingStopwatch stopwatch) { - this.stopwatch = checkNotNull(stopwatch); + abstract void doSetRate(double permitsPerSecond, long nowMicros); + + /** + * Returns the stable rate (as {@code permits per seconds}) with which this {@code RateLimiter} is + * configured with. The initial value of this is the same as the {@code permitsPerSecond} argument + * passed in the factory method that produced this {@code RateLimiter}, and it is only updated + * after invocations to {@linkplain #setRate}. + */ + public final double getRate() { + synchronized (mutex()) { + return doGetRate(); + } } /** @@ -228,20 +266,6 @@ public final void setRate(double permitsPerSecond) { } } - abstract void doSetRate(double permitsPerSecond, long nowMicros); - - /** - * Returns the stable rate (as {@code permits per seconds}) with which this {@code RateLimiter} is - * configured with. The initial value of this is the same as the {@code permitsPerSecond} argument - * passed in the factory method that produced this {@code RateLimiter}, and it is only updated - * after invocations to {@linkplain #setRate}. - */ - public final double getRate() { - synchronized (mutex()) { - return doGetRate(); - } - } - abstract double doGetRate(); /** @@ -395,13 +419,6 @@ abstract static class SleepingStopwatch { /** Constructor for use by subclasses. */ protected SleepingStopwatch() {} - /* - * We always hold the mutex when calling this. - */ - protected abstract long readMicros(); - - protected abstract void sleepMicrosUninterruptibly(long micros); - public static SleepingStopwatch createFromSystemTimer() { return new SleepingStopwatch() { final Stopwatch stopwatch = Stopwatch.createStarted(); @@ -419,32 +436,12 @@ protected void sleepMicrosUninterruptibly(long micros) { } }; } - } - private static void checkPermits(int permits) { - checkArgument(permits > 0, "Requested permits (%s) must be positive", permits); - } + /* + * We always hold the mutex when calling this. + */ + protected abstract long readMicros(); - /** Invokes {@code unit.}{@link TimeUnit#sleep(long) sleep(sleepFor)} uninterruptibly. */ - private static void sleepUninterruptibly(long sleepFor, TimeUnit unit) { - boolean interrupted = false; - try { - long remainingNanos = unit.toNanos(sleepFor); - long end = System.nanoTime() + remainingNanos; - while (true) { - try { - // TimeUnit.sleep() treats negative timeouts just like zero. - NANOSECONDS.sleep(remainingNanos); - return; - } catch (InterruptedException e) { - interrupted = true; - remainingNanos = end - System.nanoTime(); - } - } - } finally { - if (interrupted) { - Thread.currentThread().interrupt(); - } - } + protected abstract void sleepMicrosUninterruptibly(long micros); } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java index 346358227..67c7f228d 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java @@ -149,6 +149,84 @@ abstract class SmoothRateLimiter extends RateLimiter { * we would only increase it for arrivals _later_ than the expected one second. */ + /** The currently stored permits. */ + double storedPermits; + /** The maximum number of stored permits. */ + double maxPermits; + /** + * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits + * per second has a stable interval of 200ms. + */ + double stableIntervalMicros; + /** + * The time when the next request (no matter its size) will be granted. After granting a request, + * this is pushed further in the future. Large requests push this further than small requests. + */ + private long nextFreeTicketMicros = 0L; // could be either in the past or future + + private SmoothRateLimiter(SleepingStopwatch stopwatch) { + super(stopwatch); + } + + @Override + final void doSetRate(double permitsPerSecond, long nowMicros) { + resync(nowMicros); + double stableIntervalMicros = SECONDS.toMicros(1L) / permitsPerSecond; + this.stableIntervalMicros = stableIntervalMicros; + doSetRate(permitsPerSecond, stableIntervalMicros); + } + + abstract void doSetRate(double permitsPerSecond, double stableIntervalMicros); + + @Override + final double doGetRate() { + return SECONDS.toMicros(1L) / stableIntervalMicros; + } + + @Override + final long queryEarliestAvailable(long nowMicros) { + return nextFreeTicketMicros; + } + + @Override + final long reserveEarliestAvailable(int requiredPermits, long nowMicros) { + resync(nowMicros); + long returnValue = nextFreeTicketMicros; + double storedPermitsToSpend = min(requiredPermits, this.storedPermits); + double freshPermits = requiredPermits - storedPermitsToSpend; + long waitMicros = + storedPermitsToWaitTime(this.storedPermits, storedPermitsToSpend) + + (long) (freshPermits * stableIntervalMicros); + + this.nextFreeTicketMicros = LongMath.saturatedAdd(nextFreeTicketMicros, waitMicros); + this.storedPermits -= storedPermitsToSpend; + return returnValue; + } + + /** + * Translates a specified portion of our currently stored permits which we want to spend/acquire, + * into a throttling time. Conceptually, this evaluates the integral of the underlying function we + * use, for the range of [(storedPermits - permitsToTake), storedPermits]. + * + *

This always holds: {@code 0 <= permitsToTake <= storedPermits} + */ + abstract long storedPermitsToWaitTime(double storedPermits, double permitsToTake); + + /** + * Returns the number of microseconds during cool down that we have to wait to get a new permit. + */ + abstract double coolDownIntervalMicros(); + + /** Updates {@code storedPermits} and {@code nextFreeTicketMicros} based on the current time. */ + void resync(long nowMicros) { + // if nextFreeTicket is in the past, resync to now + if (nowMicros > nextFreeTicketMicros) { + double newPermits = (nowMicros - nextFreeTicketMicros) / coolDownIntervalMicros(); + storedPermits = min(maxPermits, storedPermits + newPermits); + nextFreeTicketMicros = nowMicros; + } + } + /** * This implements the following function where coldInterval = coldFactor * stableInterval. * @@ -171,7 +249,7 @@ abstract class SmoothRateLimiter extends RateLimiter { * 0 thresholdPermits maxPermits * * - * Before going into the details of this particular function, let's keep in mind the basics: + *

Before going into the details of this particular function, let's keep in mind the basics: * *

    *
  1. The state of the RateLimiter (storedPermits) is a vertical line in this figure. @@ -317,85 +395,4 @@ long storedPermitsToWaitTime(double storedPermits, double permitsToTake) { return stableIntervalMicros; } } - - /** The currently stored permits. */ - double storedPermits; - - /** The maximum number of stored permits. */ - double maxPermits; - - /** - * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits - * per second has a stable interval of 200ms. - */ - double stableIntervalMicros; - - /** - * The time when the next request (no matter its size) will be granted. After granting a request, - * this is pushed further in the future. Large requests push this further than small requests. - */ - private long nextFreeTicketMicros = 0L; // could be either in the past or future - - private SmoothRateLimiter(SleepingStopwatch stopwatch) { - super(stopwatch); - } - - @Override - final void doSetRate(double permitsPerSecond, long nowMicros) { - resync(nowMicros); - double stableIntervalMicros = SECONDS.toMicros(1L) / permitsPerSecond; - this.stableIntervalMicros = stableIntervalMicros; - doSetRate(permitsPerSecond, stableIntervalMicros); - } - - abstract void doSetRate(double permitsPerSecond, double stableIntervalMicros); - - @Override - final double doGetRate() { - return SECONDS.toMicros(1L) / stableIntervalMicros; - } - - @Override - final long queryEarliestAvailable(long nowMicros) { - return nextFreeTicketMicros; - } - - @Override - final long reserveEarliestAvailable(int requiredPermits, long nowMicros) { - resync(nowMicros); - long returnValue = nextFreeTicketMicros; - double storedPermitsToSpend = min(requiredPermits, this.storedPermits); - double freshPermits = requiredPermits - storedPermitsToSpend; - long waitMicros = - storedPermitsToWaitTime(this.storedPermits, storedPermitsToSpend) - + (long) (freshPermits * stableIntervalMicros); - - this.nextFreeTicketMicros = LongMath.saturatedAdd(nextFreeTicketMicros, waitMicros); - this.storedPermits -= storedPermitsToSpend; - return returnValue; - } - - /** - * Translates a specified portion of our currently stored permits which we want to spend/acquire, - * into a throttling time. Conceptually, this evaluates the integral of the underlying function we - * use, for the range of [(storedPermits - permitsToTake), storedPermits]. - * - *

    This always holds: {@code 0 <= permitsToTake <= storedPermits} - */ - abstract long storedPermitsToWaitTime(double storedPermits, double permitsToTake); - - /** - * Returns the number of microseconds during cool down that we have to wait to get a new permit. - */ - abstract double coolDownIntervalMicros(); - - /** Updates {@code storedPermits} and {@code nextFreeTicketMicros} based on the current time. */ - void resync(long nowMicros) { - // if nextFreeTicket is in the past, resync to now - if (nowMicros > nextFreeTicketMicros) { - double newPermits = (nowMicros - nextFreeTicketMicros) / coolDownIntervalMicros(); - storedPermits = min(maxPermits, storedPermits + newPermits); - nextFreeTicketMicros = nowMicros; - } - } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java b/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java index 167dcc24b..00d826342 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/Stopwatch.java @@ -30,13 +30,7 @@ import static com.google.maps.internal.ratelimiter.Preconditions.checkNotNull; import static com.google.maps.internal.ratelimiter.Preconditions.checkState; -import static java.util.concurrent.TimeUnit.DAYS; -import static java.util.concurrent.TimeUnit.HOURS; -import static java.util.concurrent.TimeUnit.MICROSECONDS; -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.concurrent.TimeUnit.MINUTES; -import static java.util.concurrent.TimeUnit.NANOSECONDS; -import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.concurrent.TimeUnit.*; import java.util.concurrent.TimeUnit; @@ -93,6 +87,14 @@ public final class Stopwatch { private long elapsedNanos; private long startTick; + Stopwatch() { + this.ticker = Ticker.systemTicker(); + } + + Stopwatch(Ticker ticker) { + this.ticker = checkNotNull(ticker, "ticker"); + } + /** * Creates (but does not start) a new stopwatch using {@link System#nanoTime} as its time source. */ @@ -115,12 +117,47 @@ public static Stopwatch createStarted(Ticker ticker) { return new Stopwatch(ticker).start(); } - Stopwatch() { - this.ticker = Ticker.systemTicker(); + private static TimeUnit chooseUnit(long nanos) { + if (DAYS.convert(nanos, NANOSECONDS) > 0) { + return DAYS; + } + if (HOURS.convert(nanos, NANOSECONDS) > 0) { + return HOURS; + } + if (MINUTES.convert(nanos, NANOSECONDS) > 0) { + return MINUTES; + } + if (SECONDS.convert(nanos, NANOSECONDS) > 0) { + return SECONDS; + } + if (MILLISECONDS.convert(nanos, NANOSECONDS) > 0) { + return MILLISECONDS; + } + if (MICROSECONDS.convert(nanos, NANOSECONDS) > 0) { + return MICROSECONDS; + } + return NANOSECONDS; } - Stopwatch(Ticker ticker) { - this.ticker = checkNotNull(ticker, "ticker"); + private static String abbreviate(TimeUnit unit) { + switch (unit) { + case NANOSECONDS: + return "ns"; + case MICROSECONDS: + return "\u03bcs"; // μs + case MILLISECONDS: + return "ms"; + case SECONDS: + return "s"; + case MINUTES: + return "min"; + case HOURS: + return "h"; + case DAYS: + return "d"; + default: + throw new AssertionError(); + } } /** @@ -196,47 +233,4 @@ public String toString() { // Too bad this functionality is not exposed as a regular method call return Platform.formatCompact4Digits(value) + " " + abbreviate(unit); } - - private static TimeUnit chooseUnit(long nanos) { - if (DAYS.convert(nanos, NANOSECONDS) > 0) { - return DAYS; - } - if (HOURS.convert(nanos, NANOSECONDS) > 0) { - return HOURS; - } - if (MINUTES.convert(nanos, NANOSECONDS) > 0) { - return MINUTES; - } - if (SECONDS.convert(nanos, NANOSECONDS) > 0) { - return SECONDS; - } - if (MILLISECONDS.convert(nanos, NANOSECONDS) > 0) { - return MILLISECONDS; - } - if (MICROSECONDS.convert(nanos, NANOSECONDS) > 0) { - return MICROSECONDS; - } - return NANOSECONDS; - } - - private static String abbreviate(TimeUnit unit) { - switch (unit) { - case NANOSECONDS: - return "ns"; - case MICROSECONDS: - return "\u03bcs"; // μs - case MILLISECONDS: - return "ms"; - case SECONDS: - return "s"; - case MINUTES: - return "min"; - case HOURS: - return "h"; - case DAYS: - return "d"; - default: - throw new AssertionError(); - } - } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java b/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java index c3d5880d8..505bad615 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/Ticker.java @@ -38,22 +38,22 @@ * @author Kevin Bourrillion */ public abstract class Ticker { + private static final Ticker SYSTEM_TICKER = + new Ticker() { + @Override + public long read() { + return Platform.systemNanoTime(); + } + }; + /** Constructor for use by subclasses. */ protected Ticker() {} - /** Returns the number of nanoseconds elapsed since this ticker's fixed point of reference. */ - public abstract long read(); - /** A ticker that reads the current time using {@link System#nanoTime}. */ public static Ticker systemTicker() { return SYSTEM_TICKER; } - private static final Ticker SYSTEM_TICKER = - new Ticker() { - @Override - public long read() { - return Platform.systemNanoTime(); - } - }; + /** Returns the number of nanoseconds elapsed since this ticker's fixed point of reference. */ + public abstract long read(); } diff --git a/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java b/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java index b6be49050..075200d73 100644 --- a/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java +++ b/src/main/java/com/google/maps/metrics/OpenCensusMetrics.java @@ -1,13 +1,9 @@ package com.google.maps.metrics; -import io.opencensus.stats.Aggregation; +import io.opencensus.stats.*; import io.opencensus.stats.Aggregation.Count; import io.opencensus.stats.Aggregation.Distribution; -import io.opencensus.stats.BucketBoundaries; import io.opencensus.stats.Measure.MeasureLong; -import io.opencensus.stats.Stats; -import io.opencensus.stats.View; -import io.opencensus.stats.ViewManager; import io.opencensus.tags.TagKey; import java.util.Arrays; import java.util.Collections; @@ -19,46 +15,58 @@ public final class OpenCensusMetrics { private OpenCensusMetrics() {} - public static final class Tags { - private Tags() {} + public static void registerAllViews() { + registerAllViews(Stats.getViewManager()); + } + + public static void registerAllViews(ViewManager viewManager) { + View[] views_to_register = + new View[] { + Views.REQUEST_COUNT, Views.REQUEST_LATENCY, Views.NETWORK_LATENCY, Views.RETRY_COUNT + }; + for (View view : views_to_register) { + viewManager.registerView(view); + } + } + private static List tags(TagKey... items) { + return Collections.unmodifiableList(Arrays.asList(items)); + } + + public static final class Tags { public static final TagKey REQUEST_NAME = TagKey.create("request_name"); public static final TagKey HTTP_CODE = TagKey.create("http_code"); public static final TagKey API_STATUS = TagKey.create("api_status"); + + private Tags() {} } public static final class Measures { - private Measures() {} - public static final MeasureLong LATENCY = MeasureLong.create( "maps.googleapis.com/measure/client/latency", "Total time between library method called and results returned", "ms"); - public static final MeasureLong NETWORK_LATENCY = MeasureLong.create( "maps.googleapis.com/measure/client/network_latency", "Network time inside the library", "ms"); - public static final MeasureLong RETRY_COUNT = MeasureLong.create( "maps.googleapis.com/measure/client/retry_count", "How many times any request was retried", "1"); + + private Measures() {} } private static final class Aggregations { - private Aggregations() {} - private static final Aggregation COUNT = Count.create(); - private static final Aggregation DISTRIBUTION_INTEGERS_10 = Distribution.create( BucketBoundaries.create( Arrays.asList(0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0))); - // every bucket is ~25% bigger = 20 * 2^(N/3) private static final Aggregation DISTRIBUTION_LATENCY = Distribution.create( @@ -67,14 +75,13 @@ private Aggregations() {} 0.0, 20.0, 25.2, 31.7, 40.0, 50.4, 63.5, 80.0, 100.8, 127.0, 160.0, 201.6, 254.0, 320.0, 403.2, 508.0, 640.0, 806.3, 1015.9, 1280.0, 1612.7, 2031.9, 2560.0, 3225.4, 4063.7))); + + private Aggregations() {} } public static final class Views { - private Views() {} - private static final List fields = tags(Tags.REQUEST_NAME, Tags.HTTP_CODE, Tags.API_STATUS); - public static final View REQUEST_COUNT = View.create( View.Name.create("maps.googleapis.com/client/request_count"), @@ -82,7 +89,6 @@ private Views() {} Measures.LATENCY, Aggregations.COUNT, fields); - public static final View REQUEST_LATENCY = View.create( View.Name.create("maps.googleapis.com/client/request_latency"), @@ -90,7 +96,6 @@ private Views() {} Measures.LATENCY, Aggregations.DISTRIBUTION_LATENCY, fields); - public static final View NETWORK_LATENCY = View.create( View.Name.create("maps.googleapis.com/client/network_latency"), @@ -98,7 +103,6 @@ private Views() {} Measures.NETWORK_LATENCY, Aggregations.DISTRIBUTION_LATENCY, fields); - public static final View RETRY_COUNT = View.create( View.Name.create("maps.googleapis.com/client/retry_count"), @@ -106,23 +110,7 @@ private Views() {} Measures.RETRY_COUNT, Aggregations.DISTRIBUTION_INTEGERS_10, fields); - } - public static void registerAllViews() { - registerAllViews(Stats.getViewManager()); - } - - public static void registerAllViews(ViewManager viewManager) { - View[] views_to_register = - new View[] { - Views.REQUEST_COUNT, Views.REQUEST_LATENCY, Views.NETWORK_LATENCY, Views.RETRY_COUNT - }; - for (View view : views_to_register) { - viewManager.registerView(view); - } - } - - private static List tags(TagKey... items) { - return Collections.unmodifiableList(Arrays.asList(items)); + private Views() {} } } diff --git a/src/main/java/com/google/maps/model/AutocompletePrediction.java b/src/main/java/com/google/maps/model/AutocompletePrediction.java index 8e8850b4a..053148430 100644 --- a/src/main/java/com/google/maps/model/AutocompletePrediction.java +++ b/src/main/java/com/google/maps/model/AutocompletePrediction.java @@ -58,6 +58,28 @@ public class AutocompletePrediction implements Serializable { */ public Integer distanceMeters; + /** + * The locations of the entered term in the prediction result text, so that the term can be + * highlighted if desired. + */ + public MatchedSubstring matchedSubstrings[]; + + /** A description of how the autocomplete query matched the returned result. */ + public AutocompleteStructuredFormatting structuredFormatting; + + @Override + public String toString() { + return String.format( + "[AutocompletePrediction: \"%s\", placeId=%s, types=%s, terms=%s, " + + "matchedSubstrings=%s, structuredFormatting=%s]", + description, + placeId, + Arrays.toString(types), + Arrays.toString(terms), + Arrays.toString(matchedSubstrings), + Objects.toString(structuredFormatting)); + } + /** * Describes the location of the entered term in the prediction result text, so that the term can * be highlighted if desired. @@ -78,15 +100,6 @@ public String toString() { } } - /** - * The locations of the entered term in the prediction result text, so that the term can be - * highlighted if desired. - */ - public MatchedSubstring matchedSubstrings[]; - - /** A description of how the autocomplete query matched the returned result. */ - public AutocompleteStructuredFormatting structuredFormatting; - /** * Identifies each section of the returned description. (A section of the description is generally * terminated with a comma.) @@ -106,17 +119,4 @@ public String toString() { return String.format("(offset=%d, value=%s)", offset, value); } } - - @Override - public String toString() { - return String.format( - "[AutocompletePrediction: \"%s\", placeId=%s, types=%s, terms=%s, " - + "matchedSubstrings=%s, structuredFormatting=%s]", - description, - placeId, - Arrays.toString(types), - Arrays.toString(terms), - Arrays.toString(matchedSubstrings), - Objects.toString(structuredFormatting)); - } } diff --git a/src/main/java/com/google/maps/model/Bounds.java b/src/main/java/com/google/maps/model/Bounds.java index b26c036c5..6b263e2ee 100644 --- a/src/main/java/com/google/maps/model/Bounds.java +++ b/src/main/java/com/google/maps/model/Bounds.java @@ -21,8 +21,10 @@ public class Bounds implements Serializable { private static final long serialVersionUID = 1L; + /** The northeast corner of the bounding box. */ public LatLng northeast; + /** The southwest corner of the bounding box. */ public LatLng southwest; diff --git a/src/main/java/com/google/maps/model/CellTower.java b/src/main/java/com/google/maps/model/CellTower.java index 2b39905d2..1ce95fc36 100644 --- a/src/main/java/com/google/maps/model/CellTower.java +++ b/src/main/java/com/google/maps/model/CellTower.java @@ -30,25 +30,6 @@ public class CellTower implements Serializable { private static final long serialVersionUID = 1L; - public CellTower() {} - - // constructor only used by the builder class below - private CellTower( - Integer _cellId, - Integer _locationAreaCode, - Integer _mobileCountryCode, - Integer _mobileNetworkCode, - Integer _age, - Integer _signalStrength, - Integer _timingAdvance) { - this.cellId = _cellId; - this.locationAreaCode = _locationAreaCode; - this.mobileCountryCode = _mobileCountryCode; - this.mobileNetworkCode = _mobileNetworkCode; - this.age = _age; - this.signalStrength = _signalStrength; - this.timingAdvance = _timingAdvance; - } /** * Unique identifier of the cell (required). On GSM, this is the Cell ID (CID); CDMA networks use * the Base Station ID (BID). WCDMA networks use the UTRAN/GERAN Cell Identity (UC-Id), which is a @@ -56,29 +37,55 @@ private CellTower( * 16-bit Cell ID value in WCDMA networks may return inaccurate results. */ public Integer cellId = null; + /** * The Location Area Code (LAC) for GSM and WCDMAnetworks or The Network ID (NID) for CDMA * networks (required). */ public Integer locationAreaCode = null; + /** The cell tower's Mobile Country Code (MCC) (required). */ public Integer mobileCountryCode = null; + /** * The cell tower's Mobile Network Code (required). This is the MNC for GSM and WCDMA; CDMA uses * the System ID (SID). */ public Integer mobileNetworkCode = null; - /* The following optional fields are not currently used, but may be included if values are available. */ + /** * The number of milliseconds since this cell was primary. If age is 0, the cellId represents a * current measurement. */ public Integer age = null; + /** Radio signal strength measured in dBm. */ public Integer signalStrength = null; + + /* The following optional fields are not currently used, but may be included if values are available. */ /** The timing advance value. */ public Integer timingAdvance = null; + public CellTower() {} + + // constructor only used by the builder class below + private CellTower( + Integer _cellId, + Integer _locationAreaCode, + Integer _mobileCountryCode, + Integer _mobileNetworkCode, + Integer _age, + Integer _signalStrength, + Integer _timingAdvance) { + this.cellId = _cellId; + this.locationAreaCode = _locationAreaCode; + this.mobileCountryCode = _mobileCountryCode; + this.mobileNetworkCode = _mobileNetworkCode; + this.age = _age; + this.signalStrength = _signalStrength; + this.timingAdvance = _timingAdvance; + } + @Override public String toString() { return String.format( diff --git a/src/main/java/com/google/maps/model/ComponentFilter.java b/src/main/java/com/google/maps/model/ComponentFilter.java index 0c5cc887a..87116f637 100644 --- a/src/main/java/com/google/maps/model/ComponentFilter.java +++ b/src/main/java/com/google/maps/model/ComponentFilter.java @@ -43,16 +43,6 @@ public ComponentFilter(String component, String value) { this.value = value; } - @Override - public String toString() { - return toUrlValue(); - } - - @Override - public String toUrlValue() { - return join(':', component, value); - } - /** * Matches long or short name of a route. * @@ -102,4 +92,14 @@ public static ComponentFilter postalCode(String postalCode) { public static ComponentFilter country(String country) { return new ComponentFilter("country", country); } + + @Override + public String toString() { + return toUrlValue(); + } + + @Override + public String toUrlValue() { + return join(':', component, value); + } } diff --git a/src/main/java/com/google/maps/model/DirectionsRoute.java b/src/main/java/com/google/maps/model/DirectionsRoute.java index 7fbada10e..1eae66e65 100644 --- a/src/main/java/com/google/maps/model/DirectionsRoute.java +++ b/src/main/java/com/google/maps/model/DirectionsRoute.java @@ -29,6 +29,7 @@ public class DirectionsRoute implements Serializable { private static final long serialVersionUID = 1L; + /** * A short textual description for the route, suitable for naming and disambiguating the route * from alternatives. diff --git a/src/main/java/com/google/maps/model/ElevationResult.java b/src/main/java/com/google/maps/model/ElevationResult.java index 46e4b8ec2..fad4398e3 100644 --- a/src/main/java/com/google/maps/model/ElevationResult.java +++ b/src/main/java/com/google/maps/model/ElevationResult.java @@ -28,8 +28,10 @@ public class ElevationResult implements Serializable { /** Elevation in meters. */ public double elevation; + /** Location of the elevation data. */ public LatLng location; + /** Maximum distance between data points from which the elevation was interpolated, in meters. */ public double resolution; diff --git a/src/main/java/com/google/maps/model/GeolocationPayload.java b/src/main/java/com/google/maps/model/GeolocationPayload.java index 640169816..4d33da9ba 100644 --- a/src/main/java/com/google/maps/model/GeolocationPayload.java +++ b/src/main/java/com/google/maps/model/GeolocationPayload.java @@ -36,26 +36,6 @@ public class GeolocationPayload implements Serializable { private static final long serialVersionUID = 1L; - - public GeolocationPayload() {} - - // constructor only used by the builder class below - private GeolocationPayload( - Integer _homeMobileCountryCode, - Integer _homeMobileNetworkCode, - String _radioType, - String _carrier, - Boolean _considerIp, - CellTower[] _cellTowers, - WifiAccessPoint[] _wifiAccessPoints) { - homeMobileCountryCode = _homeMobileCountryCode; - homeMobileNetworkCode = _homeMobileNetworkCode; - radioType = _radioType; - carrier = _carrier; - considerIp = _considerIp; - cellTowers = _cellTowers; - wifiAccessPoints = _wifiAccessPoints; - } /** The mobile country code (MCC) for the device's home network. */ public Integer homeMobileCountryCode = null; /** The mobile network code (MNC) for the device's home network. */ @@ -79,6 +59,25 @@ private GeolocationPayload( /** An array of WiFi access point objects. See {@link com.google.maps.model.WifiAccessPoint}. */ public WifiAccessPoint[] wifiAccessPoints; + public GeolocationPayload() {} + // constructor only used by the builder class below + private GeolocationPayload( + Integer _homeMobileCountryCode, + Integer _homeMobileNetworkCode, + String _radioType, + String _carrier, + Boolean _considerIp, + CellTower[] _cellTowers, + WifiAccessPoint[] _wifiAccessPoints) { + homeMobileCountryCode = _homeMobileCountryCode; + homeMobileNetworkCode = _homeMobileNetworkCode; + radioType = _radioType; + carrier = _carrier; + considerIp = _considerIp; + cellTowers = _cellTowers; + wifiAccessPoints = _wifiAccessPoints; + } + @Override public String toString() { StringBuilder sb = new StringBuilder("[GeolocationPayload"); diff --git a/src/main/java/com/google/maps/model/GeolocationResult.java b/src/main/java/com/google/maps/model/GeolocationResult.java index 45e7e097d..ae43db890 100644 --- a/src/main/java/com/google/maps/model/GeolocationResult.java +++ b/src/main/java/com/google/maps/model/GeolocationResult.java @@ -29,8 +29,10 @@ public class GeolocationResult implements Serializable { private static final long serialVersionUID = 1L; + /** The user’s estimated latitude and longitude. */ public LatLng location; + /** * The accuracy of the estimated location, in meters. This represents the radius of a circle * around the returned {@code location}. diff --git a/src/main/java/com/google/maps/model/Geometry.java b/src/main/java/com/google/maps/model/Geometry.java index 87b8ba972..ddfce9edc 100644 --- a/src/main/java/com/google/maps/model/Geometry.java +++ b/src/main/java/com/google/maps/model/Geometry.java @@ -21,6 +21,7 @@ public class Geometry implements Serializable { private static final long serialVersionUID = 1L; + /** * The bounding box which can fully contain the returned result (optionally returned). Note that * these bounds may not match the recommended viewport. (For example, San Francisco includes the diff --git a/src/main/java/com/google/maps/model/OpeningHours.java b/src/main/java/com/google/maps/model/OpeningHours.java index 61d607029..d387dceb7 100644 --- a/src/main/java/com/google/maps/model/OpeningHours.java +++ b/src/main/java/com/google/maps/model/OpeningHours.java @@ -27,6 +27,7 @@ public class OpeningHours implements Serializable { private static final long serialVersionUID = 1L; + /** * Whether the place is open at the current time. * @@ -34,15 +35,72 @@ public class OpeningHours implements Serializable { */ public Boolean openNow; + /** Opening periods covering seven days, starting from Sunday, in chronological order. */ + public Period[] periods; + + /** An array of up to seven entries corresponding to the next seven days. */ + public SpecialDay[] specialDays; + + /** + * A type string used to identify the type of secondary hours (for example, DRIVE_THROUGH, + * HAPPY_HOUR, DELIVERY, TAKEOUT, KITCHEN, BREAKFAST, LUNCH, DINNER, BRUNCH, PICKUP, + * SENIOR_HOURS). Set for secondary_opening_hours only. + */ + public String type; + + /** + * The formatted opening hours for each day of the week, as an array of seven strings; for + * example, {@code "Monday: 8:30 am – 5:30 pm"}. + */ + public String[] weekdayText; + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("[OpeningHours:"); + if (openNow != null && openNow) { + sb.append(" openNow"); + } + sb.append(" ").append(Arrays.toString(periods)); + if (specialDays != null) { + sb.append(" (\"").append(specialDays).append("\")"); + } + if (type != null) { + sb.append(" (\"").append(type).append("\")"); + } + return sb.toString(); + } + /** The opening hours for a Place for a single day. */ public static class Period implements Serializable { private static final long serialVersionUID = 1L; + /** When the Place opens. */ + public Period.OpenClose open; + + /** When the Place closes. */ + public Period.OpenClose close; + + @Override + public String toString() { + return String.format("%s - %s", open, close); + } + public static class OpenClose implements Serializable { private static final long serialVersionUID = 1L; + /** Day that this Open/Close pair is for. */ + public Period.OpenClose.DayOfWeek day; + + /** Time that this Open or Close happens at. */ + public LocalTime time; + + @Override + public String toString() { + return String.format("%s %s", day, time); + } + public enum DayOfWeek { SUNDAY("Sunday"), MONDAY("Monday"), @@ -58,44 +116,19 @@ public enum DayOfWeek { */ UNKNOWN("Unknown"); + private final String name; + private DayOfWeek(String name) { this.name = name; } - private final String name; - public String getName() { return name; } } - - /** Day that this Open/Close pair is for. */ - public Period.OpenClose.DayOfWeek day; - - /** Time that this Open or Close happens at. */ - public LocalTime time; - - @Override - public String toString() { - return String.format("%s %s", day, time); - } - } - - /** When the Place opens. */ - public Period.OpenClose open; - - /** When the Place closes. */ - public Period.OpenClose close; - - @Override - public String toString() { - return String.format("%s - %s", open, close); } } - /** Opening periods covering seven days, starting from Sunday, in chronological order. */ - public Period[] periods; - /** An indicator of special hours for a Place for a single day. */ public static class SpecialDay implements Serializable { @@ -128,36 +161,4 @@ public String toString() { return sb.toString(); } } - - /** An array of up to seven entries corresponding to the next seven days. */ - public SpecialDay[] specialDays; - - /** - * A type string used to identify the type of secondary hours (for example, DRIVE_THROUGH, - * HAPPY_HOUR, DELIVERY, TAKEOUT, KITCHEN, BREAKFAST, LUNCH, DINNER, BRUNCH, PICKUP, - * SENIOR_HOURS). Set for secondary_opening_hours only. - */ - public String type; - - /** - * The formatted opening hours for each day of the week, as an array of seven strings; for - * example, {@code "Monday: 8:30 am – 5:30 pm"}. - */ - public String[] weekdayText; - - @Override - public String toString() { - StringBuilder sb = new StringBuilder("[OpeningHours:"); - if (openNow != null && openNow) { - sb.append(" openNow"); - } - sb.append(" ").append(Arrays.toString(periods)); - if (specialDays != null) { - sb.append(" (\"").append(specialDays).append("\")"); - } - if (type != null) { - sb.append(" (\"").append(type).append("\")"); - } - return sb.toString(); - } } diff --git a/src/main/java/com/google/maps/model/Photo.java b/src/main/java/com/google/maps/model/Photo.java index ae16a5cb2..b5c108783 100644 --- a/src/main/java/com/google/maps/model/Photo.java +++ b/src/main/java/com/google/maps/model/Photo.java @@ -26,6 +26,7 @@ public class Photo implements Serializable { private static final long serialVersionUID = 1L; + /** Used to identify the photo when you perform a Photo request. */ public String photoReference; diff --git a/src/main/java/com/google/maps/model/PlaceAutocompleteType.java b/src/main/java/com/google/maps/model/PlaceAutocompleteType.java index 3e10c3471..7224d8c1c 100644 --- a/src/main/java/com/google/maps/model/PlaceAutocompleteType.java +++ b/src/main/java/com/google/maps/model/PlaceAutocompleteType.java @@ -28,12 +28,12 @@ public enum PlaceAutocompleteType implements StringJoin.UrlValue { REGIONS("(regions)"), CITIES("(cities)"); + private final String placeType; + PlaceAutocompleteType(final String placeType) { this.placeType = placeType; } - private final String placeType; - @Override public String toUrlValue() { return placeType; diff --git a/src/main/java/com/google/maps/model/PlaceDetails.java b/src/main/java/com/google/maps/model/PlaceDetails.java index a9f52b0cb..af0d2023e 100644 --- a/src/main/java/com/google/maps/model/PlaceDetails.java +++ b/src/main/java/com/google/maps/model/PlaceDetails.java @@ -112,30 +112,6 @@ public class PlaceDetails implements Serializable { */ public PriceLevel priceLevel; - @Deprecated - public static class AlternatePlaceIds implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * The alternative placeId. The most likely reason for a place to have an alternative place ID - * is if your application adds a place and receives an application-scoped place ID, then later - * receives a Google-scoped place ID after passing the moderation process. - */ - public String placeId; - - /** - * The scope of an alternative place ID will always be APP, indicating that the alternative - * place ID is recognised by your application only. - */ - @Deprecated public PlaceIdScope scope; - - @Override - public String toString() { - return String.format("%s (%s)", placeId, scope); - } - } - /** * An optional array of alternative place IDs for the place, with a scope related to each * alternative ID. @@ -145,79 +121,6 @@ public String toString() { /** The place's rating, from 1.0 to 5.0, based on aggregated user reviews. */ public float rating; - public static class Review implements Serializable { - - private static final long serialVersionUID = 1L; - - public static class AspectRating implements Serializable { - - private static final long serialVersionUID = 1L; - - public enum RatingType { - APPEAL, - ATMOSPHERE, - DECOR, - FACILITIES, - FOOD, - OVERALL, - QUALITY, - SERVICE, - - /** - * Indicates an unknown rating type returned by the server. The Java Client for Google Maps - * Services should be updated to support the new value. - */ - UNKNOWN - } - - /** The name of the aspect that is being rated. */ - public RatingType type; - - /** The user's rating for this particular aspect, from 0 to 3. */ - public int rating; - } - - /** - * A list of AspectRating objects, each of which provides a rating of a single attribute of the - * establishment. - * - *

    Note: this is a Premium Data field - * available to the Google Places API for Work customers. - */ - public AspectRating[] aspects; - - /** - * The name of the user who submitted the review. Anonymous reviews are attributed to "A Google - * user". - */ - public String authorName; - - /** The URL of the user's Google+ profile, if available. */ - public URL authorUrl; - - /** An IETF language code indicating the language used in the user's review. */ - public String language; - - /** The URL of the user's Google+ profile photo, if available. */ - public String profilePhotoUrl; - - /** The user's overall rating for this place. This is a whole number, ranging from 1 to 5. */ - public int rating; - - /** The relative time that the review was submitted. */ - public String relativeTimeDescription; - - /** - * The user's review. When reviewing a location with Google Places, text reviews are considered - * optional. - */ - public String text; - - /** The time that the review was submitted. */ - public Instant time; - } - /** Specifies if the place supports reservations. */ public Boolean reservable; @@ -401,4 +304,101 @@ public String toString() { sb.append("]"); return sb.toString(); } + + @Deprecated + public static class AlternatePlaceIds implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * The alternative placeId. The most likely reason for a place to have an alternative place ID + * is if your application adds a place and receives an application-scoped place ID, then later + * receives a Google-scoped place ID after passing the moderation process. + */ + public String placeId; + + /** + * The scope of an alternative place ID will always be APP, indicating that the alternative + * place ID is recognised by your application only. + */ + @Deprecated public PlaceIdScope scope; + + @Override + public String toString() { + return String.format("%s (%s)", placeId, scope); + } + } + + public static class Review implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * A list of AspectRating objects, each of which provides a rating of a single attribute of the + * establishment. + * + *

    Note: this is a Premium Data field + * available to the Google Places API for Work customers. + */ + public AspectRating[] aspects; + + /** + * The name of the user who submitted the review. Anonymous reviews are attributed to "A Google + * user". + */ + public String authorName; + + /** The URL of the user's Google+ profile, if available. */ + public URL authorUrl; + + /** An IETF language code indicating the language used in the user's review. */ + public String language; + + /** The URL of the user's Google+ profile photo, if available. */ + public String profilePhotoUrl; + + /** The user's overall rating for this place. This is a whole number, ranging from 1 to 5. */ + public int rating; + + /** The relative time that the review was submitted. */ + public String relativeTimeDescription; + + /** + * The user's review. When reviewing a location with Google Places, text reviews are considered + * optional. + */ + public String text; + + /** The time that the review was submitted. */ + public Instant time; + + public static class AspectRating implements Serializable { + + private static final long serialVersionUID = 1L; + + /** The name of the aspect that is being rated. */ + public RatingType type; + + /** The user's rating for this particular aspect, from 0 to 3. */ + public int rating; + + public enum RatingType { + APPEAL, + ATMOSPHERE, + DECOR, + FACILITIES, + FOOD, + OVERALL, + QUALITY, + SERVICE, + + /** + * Indicates an unknown rating type returned by the server. The Java Client for Google Maps + * Services should be updated to support the new value. + */ + UNKNOWN + } + } + } } diff --git a/src/main/java/com/google/maps/model/PlaceType.java b/src/main/java/com/google/maps/model/PlaceType.java index 222015747..fb2194ac3 100644 --- a/src/main/java/com/google/maps/model/PlaceType.java +++ b/src/main/java/com/google/maps/model/PlaceType.java @@ -129,12 +129,12 @@ public enum PlaceType implements StringJoin.UrlValue { VETERINARY_CARE("veterinary_care"), ZOO("zoo"); + private final String placeType; + PlaceType(final String placeType) { this.placeType = placeType; } - private final String placeType; - @Override public String toUrlValue() { return placeType; diff --git a/src/main/java/com/google/maps/model/SnappedPoint.java b/src/main/java/com/google/maps/model/SnappedPoint.java index b07b30186..585431029 100644 --- a/src/main/java/com/google/maps/model/SnappedPoint.java +++ b/src/main/java/com/google/maps/model/SnappedPoint.java @@ -21,6 +21,7 @@ public class SnappedPoint implements Serializable { private static final long serialVersionUID = 1L; + /** A latitude/longitude value representing the snapped location. */ public LatLng location; diff --git a/src/main/java/com/google/maps/model/SpeedLimit.java b/src/main/java/com/google/maps/model/SpeedLimit.java index 1e7ab1721..313e27079 100644 --- a/src/main/java/com/google/maps/model/SpeedLimit.java +++ b/src/main/java/com/google/maps/model/SpeedLimit.java @@ -21,6 +21,7 @@ public class SpeedLimit implements Serializable { private static final long serialVersionUID = 1L; + /** * A unique identifier for a place. All placeIds returned by the Roads API will correspond to road * segments. diff --git a/src/main/java/com/google/maps/model/WifiAccessPoint.java b/src/main/java/com/google/maps/model/WifiAccessPoint.java index d0275d516..e5fe5b2d7 100644 --- a/src/main/java/com/google/maps/model/WifiAccessPoint.java +++ b/src/main/java/com/google/maps/model/WifiAccessPoint.java @@ -31,6 +31,24 @@ public class WifiAccessPoint implements Serializable { private static final long serialVersionUID = 1L; + /** + * The MAC address of the WiFi node (required). Separators must be {@code :} (colon) and hex + * digits must use uppercase. + */ + public String macAddress; + + /** The current signal strength measured in dBm. */ + public Integer signalStrength = null; + + /** The number of milliseconds since this access point was detected. */ + public Integer age = null; + + /** The channel over which the client is communicating with the access point. */ + public Integer channel = null; + + /** The current signal to noise ratio measured in dB. */ + public Integer signalToNoiseRatio = null; + public WifiAccessPoint() {} // constructor only used by the builder class below @@ -46,19 +64,6 @@ private WifiAccessPoint( channel = _channel; signalToNoiseRatio = _signalToNoiseRatio; } - /** - * The MAC address of the WiFi node (required). Separators must be {@code :} (colon) and hex - * digits must use uppercase. - */ - public String macAddress; - /** The current signal strength measured in dBm. */ - public Integer signalStrength = null; - /** The number of milliseconds since this access point was detected. */ - public Integer age = null; - /** The channel over which the client is communicating with the access point. */ - public Integer channel = null; - /** The current signal to noise ratio measured in dB. */ - public Integer signalToNoiseRatio = null; @Override public String toString() { diff --git a/src/test/java/com/google/maps/DirectionsApiTest.java b/src/test/java/com/google/maps/DirectionsApiTest.java index df3b979d6..af72752ff 100644 --- a/src/test/java/com/google/maps/DirectionsApiTest.java +++ b/src/test/java/com/google/maps/DirectionsApiTest.java @@ -19,26 +19,16 @@ import static org.hamcrest.CoreMatchers.not; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; import com.google.maps.DirectionsApi.RouteRestriction; import com.google.maps.errors.NotFoundException; -import com.google.maps.model.AddressType; -import com.google.maps.model.DirectionsResult; -import com.google.maps.model.GeocodedWaypointStatus; -import com.google.maps.model.LatLng; -import com.google.maps.model.TrafficModel; -import com.google.maps.model.TransitMode; -import com.google.maps.model.TransitRoutingPreference; -import com.google.maps.model.TravelMode; -import com.google.maps.model.Unit; +import com.google.maps.model.*; import java.time.Duration; import java.time.Instant; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; - import org.hamcrest.MatcherAssert; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -203,16 +193,16 @@ public void testSanFranciscoToSeattleByBicycleAvoidingIndoor() throws Exception @Test public void testNewYorkToNewJerseyByAlternateRoute() throws Exception { try (LocalTestServerContext sc = - new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { + new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { DirectionsApi.newRequest(sc.context) - .origin("New York") - .destination("New Jersey") - .alternatives(true) - .await(); + .origin("New York") + .destination("New Jersey") + .alternatives(true) + .await(); sc.assertParamValue("New York", "origin"); sc.assertParamValue("New Jersey", "destination"); - sc.assertParamValue("true", "alternatives"); + sc.assertParamValue("true", "alternatives"); } } @@ -263,12 +253,12 @@ public void testBostonToConcordViaCharlestownAndLexington() throws Exception { @Test public void testBostonToNewJerseyViaNewHavenWithPlaceId() throws Exception { try (LocalTestServerContext sc = - new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { + new LocalTestServerContext("{\"routes\": [{}],\"status\": \"OK\"}")) { DirectionsApi.newRequest(sc.context) - .origin("Boston,US") - .destination("New Jersey,US") - .waypointsFromPlaceIds("G5c1s86wd2d") // This is a custom dummy place ID for New Haven,US - .await(); + .origin("Boston,US") + .destination("New Jersey,US") + .waypointsFromPlaceIds("G5c1s86wd2d") // This is a custom dummy place ID for New Haven,US + .await(); sc.assertParamValue("Boston,US", "origin"); sc.assertParamValue("New Jersey,US", "destination"); diff --git a/src/test/java/com/google/maps/DistanceMatrixApiTest.java b/src/test/java/com/google/maps/DistanceMatrixApiTest.java index 59160159b..a9c688023 100644 --- a/src/test/java/com/google/maps/DistanceMatrixApiTest.java +++ b/src/test/java/com/google/maps/DistanceMatrixApiTest.java @@ -20,12 +20,7 @@ import static org.junit.Assert.assertNotNull; import com.google.maps.DirectionsApi.RouteRestriction; -import com.google.maps.model.DistanceMatrix; -import com.google.maps.model.DistanceMatrixElementStatus; -import com.google.maps.model.LatLng; -import com.google.maps.model.TrafficModel; -import com.google.maps.model.TravelMode; -import com.google.maps.model.Unit; +import com.google.maps.model.*; import java.time.Duration; import java.time.Instant; import java.util.Arrays; diff --git a/src/test/java/com/google/maps/GeoApiContextTest.java b/src/test/java/com/google/maps/GeoApiContextTest.java index f6c431d58..ec62bd610 100644 --- a/src/test/java/com/google/maps/GeoApiContextTest.java +++ b/src/test/java/com/google/maps/GeoApiContextTest.java @@ -16,15 +16,8 @@ package com.google.maps; import static com.google.maps.TestUtils.findLastThreadByName; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.mockStatic; -import static org.mockito.Mockito.when; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; import com.google.maps.android.Context; import com.google.maps.android.PackageInfo; diff --git a/src/test/java/com/google/maps/GeocodingApiTest.java b/src/test/java/com/google/maps/GeocodingApiTest.java index 93f06742c..108c13936 100644 --- a/src/test/java/com/google/maps/GeocodingApiTest.java +++ b/src/test/java/com/google/maps/GeocodingApiTest.java @@ -18,18 +18,10 @@ import static com.google.maps.TestUtils.retrieveBody; import static com.google.maps.model.ComponentFilter.administrativeArea; import static com.google.maps.model.ComponentFilter.country; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import com.google.maps.internal.HttpHeaders; -import com.google.maps.model.AddressComponentType; -import com.google.maps.model.AddressType; -import com.google.maps.model.ComponentFilter; -import com.google.maps.model.GeocodingResult; -import com.google.maps.model.LatLng; -import com.google.maps.model.LocationType; +import com.google.maps.model.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -874,7 +866,8 @@ public void testUtfResult() throws Exception { try (LocalTestServerContext sc = new LocalTestServerContext(utfResultGeocodeResponse)) { LatLng location = new LatLng(46.8023388, 1.6551867); GeocodingResult[] results = GeocodingApi.newRequest(sc.context).latlng(location).await(); - assertEquals("1 Rue Fernand Raynaud, 36000 Ch\u00E2teauroux, France", results[0].formattedAddress); + assertEquals( + "1 Rue Fernand Raynaud, 36000 Ch\u00E2teauroux, France", results[0].formattedAddress); sc.assertParamValue(location.toUrlValue(), "latlng"); } } @@ -998,7 +991,7 @@ public void testReverseGeocodeWithKitaWard() throws Exception { assertNotNull(results); assertNotNull(Arrays.toString(results)); assertEquals( - "Japan, \u3012603-8361 Ky\u014Dto-fu, Ky\u014Dto-shi, Kita-ku, Kinkakujich\u014D, \uFF11 \u5317\u5C71\u9E7F\u82D1\u5BFA\u91D1\u95A3\u5BFA", + "Japan, \u3012603-8361 Ky\u014Dto-fu, Ky\u014Dto-shi, Kita-ku, Kinkakujich\u014D, \uFF11 \u5317\u5C71\u9E7F\u82D1\u5BFA\u91D1\u95A3\u5BFA", results[0].formattedAddress); assertEquals("Kita Ward", results[3].addressComponents[0].shortName); assertEquals("Kita Ward", results[3].addressComponents[0].longName); diff --git a/src/test/java/com/google/maps/LocalTestServerContext.java b/src/test/java/com/google/maps/LocalTestServerContext.java index 5e90dde21..5f4cfff29 100644 --- a/src/test/java/com/google/maps/LocalTestServerContext.java +++ b/src/test/java/com/google/maps/LocalTestServerContext.java @@ -37,8 +37,8 @@ /** Local test mock server for unit tests. */ public class LocalTestServerContext implements AutoCloseable { - private final MockWebServer server; public final GeoApiContext context; + private final MockWebServer server; private RecordedRequest request = null; private List params = null; diff --git a/src/test/java/com/google/maps/metrics/OpenCensusTest.java b/src/test/java/com/google/maps/OpenCensusTest.java similarity index 96% rename from src/test/java/com/google/maps/metrics/OpenCensusTest.java rename to src/test/java/com/google/maps/OpenCensusTest.java index 1efc90926..281b54767 100644 --- a/src/test/java/com/google/maps/metrics/OpenCensusTest.java +++ b/src/test/java/com/google/maps/OpenCensusTest.java @@ -1,8 +1,6 @@ package com.google.maps; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import com.google.maps.internal.ApiConfig; import com.google.maps.metrics.OpenCensusMetrics; diff --git a/src/test/java/com/google/maps/PlacesApiTest.java b/src/test/java/com/google/maps/PlacesApiTest.java index fac1b7482..3a762590c 100644 --- a/src/test/java/com/google/maps/PlacesApiTest.java +++ b/src/test/java/com/google/maps/PlacesApiTest.java @@ -16,35 +16,14 @@ package com.google.maps; import static com.google.maps.TestUtils.retrieveBody; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import com.google.maps.FindPlaceFromTextRequest.InputType; -import com.google.maps.FindPlaceFromTextRequest.LocationBiasCircular; -import com.google.maps.FindPlaceFromTextRequest.LocationBiasIP; -import com.google.maps.FindPlaceFromTextRequest.LocationBiasPoint; -import com.google.maps.FindPlaceFromTextRequest.LocationBiasRectangular; +import static org.junit.Assert.*; + +import com.google.maps.FindPlaceFromTextRequest.*; import com.google.maps.PlaceAutocompleteRequest.SessionToken; -import com.google.maps.model.AddressComponentType; -import com.google.maps.model.AddressType; -import com.google.maps.model.AutocompletePrediction; +import com.google.maps.model.*; import com.google.maps.model.AutocompletePrediction.MatchedSubstring; -import com.google.maps.model.AutocompleteStructuredFormatting; -import com.google.maps.model.ComponentFilter; -import com.google.maps.model.FindPlaceFromText; -import com.google.maps.model.LatLng; import com.google.maps.model.OpeningHours.Period; import com.google.maps.model.OpeningHours.Period.OpenClose.DayOfWeek; -import com.google.maps.model.Photo; -import com.google.maps.model.PlaceAutocompleteType; -import com.google.maps.model.PlaceDetails; -import com.google.maps.model.PlaceType; -import com.google.maps.model.PlacesSearchResponse; -import com.google.maps.model.PlacesSearchResult; -import com.google.maps.model.PriceLevel; -import com.google.maps.model.RankBy; import java.net.URI; import java.time.LocalTime; import java.util.Arrays; @@ -263,11 +242,21 @@ public void testPlaceDetailsLookupGoogleSydney() throws Exception { } assertNotNull(placeDetails.openingHours.weekdayText); - assertEquals(placeDetails.openingHours.weekdayText[0], "Monday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); - assertEquals(placeDetails.openingHours.weekdayText[1], "Tuesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); - assertEquals(placeDetails.openingHours.weekdayText[2], "Wednesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); - assertEquals(placeDetails.openingHours.weekdayText[3], "Thursday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); - assertEquals(placeDetails.openingHours.weekdayText[4], "Friday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); + assertEquals( + placeDetails.openingHours.weekdayText[0], + "Monday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals( + placeDetails.openingHours.weekdayText[1], + "Tuesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals( + placeDetails.openingHours.weekdayText[2], + "Wednesday: 8:30\u202FAM\u2009\u2013\u20095:30\u202FPM"); + assertEquals( + placeDetails.openingHours.weekdayText[3], + "Thursday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); + assertEquals( + placeDetails.openingHours.weekdayText[4], + "Friday: 8:30\u202FAM\u2009\u2013\u20095:00\u202FPM"); assertEquals(placeDetails.openingHours.weekdayText[5], "Saturday: Closed"); assertEquals(placeDetails.openingHours.weekdayText[6], "Sunday: Closed"); assertEquals(placeDetails.utcOffset, 660); diff --git a/src/test/java/com/google/maps/RoadsApiIntegrationTest.java b/src/test/java/com/google/maps/RoadsApiIntegrationTest.java index ea596a494..8789c0544 100644 --- a/src/test/java/com/google/maps/RoadsApiIntegrationTest.java +++ b/src/test/java/com/google/maps/RoadsApiIntegrationTest.java @@ -17,9 +17,7 @@ import static com.google.maps.TestUtils.retrieveBody; import static com.google.maps.internal.StringJoin.join; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import com.google.maps.model.LatLng; import com.google.maps.model.SnappedPoint; diff --git a/src/test/java/com/google/maps/TimeZoneApiTest.java b/src/test/java/com/google/maps/TimeZoneApiTest.java index cd0015c02..cfad5c233 100644 --- a/src/test/java/com/google/maps/TimeZoneApiTest.java +++ b/src/test/java/com/google/maps/TimeZoneApiTest.java @@ -15,10 +15,7 @@ package com.google.maps; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import com.google.maps.errors.ZeroResultsException; import com.google.maps.model.LatLng; diff --git a/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java b/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java index be44a3e40..345062849 100644 --- a/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java +++ b/src/test/java/com/google/maps/android/AndroidAuthenticationConfigProviderTest.java @@ -1,8 +1,6 @@ package com.google.maps.android; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.mockStatic; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; import com.google.maps.SmallTests; import org.junit.Assert; diff --git a/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java b/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java index 2716fccdd..d913c9d4a 100644 --- a/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java +++ b/src/test/java/com/google/maps/internal/RateLimitExecutorServiceTest.java @@ -15,10 +15,7 @@ package com.google.maps.internal; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import com.google.maps.MediumTests; import java.util.AbstractMap; @@ -36,6 +33,14 @@ public class RateLimitExecutorServiceTest { private static final Logger LOG = LoggerFactory.getLogger(RateLimitExecutorServiceTest.class.getName()); + private static int countTotalRequests(AbstractMap hashMap) { + int counter = 0; + for (Integer value : hashMap.values()) { + counter += value; + } + return counter; + } + @Test public void testRateLimitDoesNotExceedSuppliedQps() throws Exception { int qps = 10; @@ -84,14 +89,6 @@ public void run() { service.shutdown(); } - private static int countTotalRequests(AbstractMap hashMap) { - int counter = 0; - for (Integer value : hashMap.values()) { - counter += value; - } - return counter; - } - @Test public void testDelayThreadIsStoppedAfterShutdownIsCalled() throws InterruptedException { RateLimitExecutorService service = new RateLimitExecutorService(); diff --git a/src/test/java/com/google/maps/internal/UrlSignerTest.java b/src/test/java/com/google/maps/internal/UrlSignerTest.java index 7c155c591..6f72f6067 100644 --- a/src/test/java/com/google/maps/internal/UrlSignerTest.java +++ b/src/test/java/com/google/maps/internal/UrlSignerTest.java @@ -45,6 +45,17 @@ public class UrlSignerTest { .replace('+', '-') .replace('/', '_'); + // Helper code from http://stackoverflow.com/questions/140131/ + private static byte[] hexStringToByteArray(String s) { + int len = s.length(); + byte[] data = new byte[len / 2]; + for (int i = 0; i < len; i += 2) { + data[i / 2] = + (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16)); + } + return data; + } + @Test public void testUrlSigner() throws Exception { UrlSigner urlSigner = new UrlSigner(SIGNING_KEY); @@ -85,15 +96,4 @@ public void run() { assertTrue(fails.isEmpty()); } - - // Helper code from http://stackoverflow.com/questions/140131/ - private static byte[] hexStringToByteArray(String s) { - int len = s.length(); - byte[] data = new byte[len / 2]; - for (int i = 0; i < len; i += 2) { - data[i / 2] = - (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16)); - } - return data; - } } diff --git a/src/test/java/com/google/maps/model/DirectionsStepTest.java b/src/test/java/com/google/maps/model/DirectionsStepTest.java index 2f0e86552..408b88e28 100644 --- a/src/test/java/com/google/maps/model/DirectionsStepTest.java +++ b/src/test/java/com/google/maps/model/DirectionsStepTest.java @@ -1,45 +1,45 @@ package com.google.maps.model; -import org.junit.Test; +import static org.junit.Assert.assertEquals; import java.time.ZonedDateTime; - -import static org.junit.Assert.assertEquals; +import org.junit.Test; public class DirectionsStepTest { - @Test - public void testDirectionsStepToString() { - Distance distance = new Distance(); - distance.humanReadable = "5 miles"; - distance.inMeters = 8046; - - Duration duration = new Duration(); - duration.humanReadable = "10 minutes"; - duration.inSeconds = 600; - - TransitDetails transitDetails = new TransitDetails(); - transitDetails.arrivalStop = new StopDetails(); - transitDetails.arrivalStop.location = new LatLng(37.123, -122.456); - transitDetails.arrivalStop.name = "Stop A"; - transitDetails.departureStop = new StopDetails(); - transitDetails.departureStop.location = new LatLng(37.456, -122.789); - transitDetails.departureStop.name = "Stop B"; - transitDetails.arrivalTime = ZonedDateTime.parse("2015-10-01T12:00:00-07:00"); - transitDetails.departureTime = ZonedDateTime.parse("2015-10-01T11:50:00-07:00"); - - DirectionsStep step = new DirectionsStep(); - step.htmlInstructions = "Turn left at W. 4th St."; - step.distance = distance; - step.duration = duration; - step.startLocation = new LatLng(37.123, -122.456); - step.endLocation = new LatLng(37.456, -122.789); - step.travelMode = TravelMode.DRIVING; - step.transitDetails = transitDetails; - - String expectedToString = "[DirectionsStep: \"Turn left at W. 4th St.\" (37.12300000,-122.45600000 -> 37.45600000,-122.78900000) driving, duration=10 minutes, distance=5 miles, transitDetails=[Stop B (37.45600000,-122.78900000) at 2015-10-01T11:50-07:00 -> Stop A (37.12300000,-122.45600000) at 2015-10-01T12:00-07:00, 0 stops, headway=0 s]]"; - String actualToString = step.toString(); - - assertEquals(expectedToString, actualToString); - } -} \ No newline at end of file + @Test + public void testDirectionsStepToString() { + Distance distance = new Distance(); + distance.humanReadable = "5 miles"; + distance.inMeters = 8046; + + Duration duration = new Duration(); + duration.humanReadable = "10 minutes"; + duration.inSeconds = 600; + + TransitDetails transitDetails = new TransitDetails(); + transitDetails.arrivalStop = new StopDetails(); + transitDetails.arrivalStop.location = new LatLng(37.123, -122.456); + transitDetails.arrivalStop.name = "Stop A"; + transitDetails.departureStop = new StopDetails(); + transitDetails.departureStop.location = new LatLng(37.456, -122.789); + transitDetails.departureStop.name = "Stop B"; + transitDetails.arrivalTime = ZonedDateTime.parse("2015-10-01T12:00:00-07:00"); + transitDetails.departureTime = ZonedDateTime.parse("2015-10-01T11:50:00-07:00"); + + DirectionsStep step = new DirectionsStep(); + step.htmlInstructions = "Turn left at W. 4th St."; + step.distance = distance; + step.duration = duration; + step.startLocation = new LatLng(37.123, -122.456); + step.endLocation = new LatLng(37.456, -122.789); + step.travelMode = TravelMode.DRIVING; + step.transitDetails = transitDetails; + + String expectedToString = + "[DirectionsStep: \"Turn left at W. 4th St.\" (37.12300000,-122.45600000 -> 37.45600000,-122.78900000) driving, duration=10 minutes, distance=5 miles, transitDetails=[Stop B (37.45600000,-122.78900000) at 2015-10-01T11:50-07:00 -> Stop A (37.12300000,-122.45600000) at 2015-10-01T12:00-07:00, 0 stops, headway=0 s]]"; + String actualToString = step.toString(); + + assertEquals(expectedToString, actualToString); + } +} diff --git a/src/test/java/com/google/maps/model/EnumsTest.java b/src/test/java/com/google/maps/model/EnumsTest.java index a77d85d73..b8ac33d8e 100644 --- a/src/test/java/com/google/maps/model/EnumsTest.java +++ b/src/test/java/com/google/maps/model/EnumsTest.java @@ -16,22 +16,31 @@ package com.google.maps.model; import static com.google.maps.internal.StringJoin.UrlValue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import com.google.maps.SmallTests; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import org.junit.Test; import org.junit.experimental.categories.Category; @Category(SmallTests.class) public class EnumsTest { + private static void assertCannotGetUrlValue(T unknown) { + assertNotNull(unknown); + try { + unknown.toUrlValue(); + fail("Expected to throw UnsupportedOperationException"); + } catch (UnsupportedOperationException expected) { + // Expected. + } + } + + private static List setdiff(Collection a, Collection b) { + List out = new ArrayList<>(a); + out.removeAll(b); + return out; + } + @Test public void testUnknown() throws Exception { assertNotNull(AddressComponentType.UNKNOWN); // Does not implement UrlValue. @@ -305,20 +314,4 @@ public void testCanonicalLiteralsForAddressComponentType() { addressComponentTypeToLiteralMap.size() + 1, // 1 for unknown AddressComponentType.values().length); } - - private static void assertCannotGetUrlValue(T unknown) { - assertNotNull(unknown); - try { - unknown.toUrlValue(); - fail("Expected to throw UnsupportedOperationException"); - } catch (UnsupportedOperationException expected) { - // Expected. - } - } - - private static List setdiff(Collection a, Collection b) { - List out = new ArrayList<>(a); - out.removeAll(b); - return out; - } } diff --git a/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json b/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json index a444a8f33..5be1fe12b 100644 --- a/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json +++ b/src/test/resources/com/google/maps/AutocompletePredictionStructuredFormatting.json @@ -1,50 +1,53 @@ { - "predictions" : [ + "predictions": [ { - "description" : "1033 Princes Highway, Heathmere, Victoria, Australia", - "id" : "7416118f95efcce4c73df632b077ffbbae4998a5", - "matched_substrings" : [ + "description": "1033 Princes Highway, Heathmere, Victoria, Australia", + "id": "7416118f95efcce4c73df632b077ffbbae4998a5", + "matched_substrings": [ { - "length" : 1, - "offset" : 0 + "length": 1, + "offset": 0 } ], - "place_id" : "ChIJJS6K87yNnaoRXPN-iCJ0bJs", - "reference" : "ClRMAAAAoJx3vtMNpjfM766x_5YghMpc_zsDSWJ2qxcNWeKTvBgWanr9F4obKq_1R3lNWndCEuHjszqAnC2PjvHwCOpcKghwVDVQq9M5WK_RmwUDQZISEL2bAGMhWuyV7zML8JOdo44aFIoljjHi2IkPqQ4DQ2nGe-YBGCD9", - "structured_formatting" : { - "main_text" : "1033 Princes Highway", - "main_text_matched_substrings" : [ + "place_id": "ChIJJS6K87yNnaoRXPN-iCJ0bJs", + "reference": "ClRMAAAAoJx3vtMNpjfM766x_5YghMpc_zsDSWJ2qxcNWeKTvBgWanr9F4obKq_1R3lNWndCEuHjszqAnC2PjvHwCOpcKghwVDVQq9M5WK_RmwUDQZISEL2bAGMhWuyV7zML8JOdo44aFIoljjHi2IkPqQ4DQ2nGe-YBGCD9", + "structured_formatting": { + "main_text": "1033 Princes Highway", + "main_text_matched_substrings": [ { - "length" : 1, - "offset" : 0 + "length": 1, + "offset": 0 } ], - "secondary_text" : "Heathmere, Victoria, Australia" + "secondary_text": "Heathmere, Victoria, Australia" }, - "terms" : [ + "terms": [ { - "offset" : 0, - "value" : "1033" + "offset": 0, + "value": "1033" }, { - "offset" : 5, - "value" : "Princes Highway" + "offset": 5, + "value": "Princes Highway" }, { - "offset" : 22, - "value" : "Heathmere" + "offset": 22, + "value": "Heathmere" }, { - "offset" : 33, - "value" : "Victoria" + "offset": 33, + "value": "Victoria" }, { - "offset" : 43, - "value" : "Australia" + "offset": 43, + "value": "Australia" } ], - "types" : [ "street_address", "geocode" ] + "types": [ + "street_address", + "geocode" + ] } ], - "status" : "OK" + "status": "OK" } diff --git a/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json b/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json index ea7524d53..b53fbe13b 100644 --- a/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json +++ b/src/test/resources/com/google/maps/FindPlaceFromTextMuseumOfContemporaryArt.json @@ -1,41 +1,40 @@ - { - "candidates" : [ + "candidates": [ { - "formatted_address" : "140 George St, The Rocks NSW 2000, Australia", - "geometry" : { - "location" : { - "lat" : -33.8599358, - "lng" : 151.2090295 + "formatted_address": "140 George St, The Rocks NSW 2000, Australia", + "geometry": { + "location": { + "lat": -33.8599358, + "lng": 151.2090295 }, - "viewport" : { - "northeast" : { - "lat" : -33.85824767010727, - "lng" : 151.2102470798928 + "viewport": { + "northeast": { + "lat": -33.85824767010727, + "lng": 151.2102470798928 }, - "southwest" : { - "lat" : -33.86094732989272, - "lng" : 151.2075474201073 + "southwest": { + "lat": -33.86094732989272, + "lng": 151.2075474201073 } } }, - "name" : "Museum of Contemporary Art Australia", - "opening_hours" : { - "open_now" : true, - "weekday_text" : [] + "name": "Museum of Contemporary Art Australia", + "opening_hours": { + "open_now": true, + "weekday_text": [] }, - "photos" : [ + "photos": [ { - "height" : 2268, - "html_attributions" : [ + "height": 2268, + "html_attributions": [ "\u003ca href=\"https://maps.google.com/maps/contrib/113202928073475129698/photos\"\u003eEmily Zimny\u003c/a\u003e" ], - "photo_reference" : "CmRaAAAAXBZe3QrziBst5oTCPUzL4LSgSuWYMctBNRu8bOP4TfwD0aU80YemnnbhjWdFfMX-kkh5h9NhFJky6fW5Ivk_G9fc11GekI0HOCDASZH3qRJmUBsdw0MWoCDZmwQAg-dVEhBb0aLoJXzoZ8cXWEceB9omGhRrX24jI3VnSEQUmInfYoAwSX4OPw", - "width" : 4032 + "photo_reference": "CmRaAAAAXBZe3QrziBst5oTCPUzL4LSgSuWYMctBNRu8bOP4TfwD0aU80YemnnbhjWdFfMX-kkh5h9NhFJky6fW5Ivk_G9fc11GekI0HOCDASZH3qRJmUBsdw0MWoCDZmwQAg-dVEhBb0aLoJXzoZ8cXWEceB9omGhRrX24jI3VnSEQUmInfYoAwSX4OPw", + "width": 4032 } ], - "rating" : 4.4 + "rating": 4.4 } ], - "status" : "OK" + "status": "OK" } diff --git a/src/test/resources/com/google/maps/GeocodeLibraryType.json b/src/test/resources/com/google/maps/GeocodeLibraryType.json index 8f5979e2d..363fa5596 100644 --- a/src/test/resources/com/google/maps/GeocodeLibraryType.json +++ b/src/test/resources/com/google/maps/GeocodeLibraryType.json @@ -1,75 +1,100 @@ - { - "results" : [ - { - "address_components" : [ - { - "long_name" : "3548", - "short_name" : "3548", - "types" : [ "subpremise" ] - }, - { - "long_name" : "1849", - "short_name" : "1849", - "types" : [ "street_number" ] - }, - { - "long_name" : "C Street Northwest", - "short_name" : "C St NW", - "types" : [ "route" ] - }, - { - "long_name" : "Northwest Washington", - "short_name" : "Northwest Washington", - "types" : [ "neighborhood", "political" ] - }, - { - "long_name" : "Washington", - "short_name" : "Washington", - "types" : [ "locality", "political" ] - }, - { - "long_name" : "District of Columbia", - "short_name" : "DC", - "types" : [ "administrative_area_level_1", "political" ] - }, - { - "long_name" : "United States", - "short_name" : "US", - "types" : [ "country", "political" ] - }, - { - "long_name" : "20240", - "short_name" : "20240", - "types" : [ "postal_code" ] - }, - { - "long_name" : "0001", - "short_name" : "0001", - "types" : [ "postal_code_suffix" ] - } - ], - "formatted_address" : "1849 C St NW #3548, Washington, DC 20240, USA", - "geometry" : { - "location" : { - "lat" : 38.8944358, - "lng" : -77.0426044 - }, - "location_type" : "ROOFTOP", - "viewport" : { - "northeast" : { - "lat" : 38.8957847802915, - "lng" : -77.04125541970849 - }, - "southwest" : { - "lat" : 38.8930868197085, - "lng" : -77.0439533802915 - } - } + "results": [ + { + "address_components": [ + { + "long_name": "3548", + "short_name": "3548", + "types": [ + "subpremise" + ] }, - "place_id" : "ChIJi9derqW3t4kREUwRQi51e24", - "types" : [ "establishment", "library", "point_of_interest" ] - } + { + "long_name": "1849", + "short_name": "1849", + "types": [ + "street_number" + ] + }, + { + "long_name": "C Street Northwest", + "short_name": "C St NW", + "types": [ + "route" + ] + }, + { + "long_name": "Northwest Washington", + "short_name": "Northwest Washington", + "types": [ + "neighborhood", + "political" + ] + }, + { + "long_name": "Washington", + "short_name": "Washington", + "types": [ + "locality", + "political" + ] + }, + { + "long_name": "District of Columbia", + "short_name": "DC", + "types": [ + "administrative_area_level_1", + "political" + ] + }, + { + "long_name": "United States", + "short_name": "US", + "types": [ + "country", + "political" + ] + }, + { + "long_name": "20240", + "short_name": "20240", + "types": [ + "postal_code" + ] + }, + { + "long_name": "0001", + "short_name": "0001", + "types": [ + "postal_code_suffix" + ] + } + ], + "formatted_address": "1849 C St NW #3548, Washington, DC 20240, USA", + "geometry": { + "location": { + "lat": 38.8944358, + "lng": -77.0426044 + }, + "location_type": "ROOFTOP", + "viewport": { + "northeast": { + "lat": 38.8957847802915, + "lng": -77.04125541970849 + }, + "southwest": { + "lat": 38.8930868197085, + "lng": -77.0439533802915 + } + } + }, + "place_id": "ChIJi9derqW3t4kREUwRQi51e24", + "types": [ + "establishment", + "library", + "point_of_interest" + ] + } ], - "status" : "OK" + "status": "OK" } From dbdbe7adead4ee9f7db3a33f37ecbc22c72fe401 Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Mon, 27 Nov 2023 19:44:56 -0400 Subject: [PATCH 5/6] fix three design smells and reformatted code --- .../google/maps/DistanceMatrixApiRequest.java | 10 +- .../com/google/maps/GeocodingApiRequest.java | 62 +++++----- .../java/com/google/maps/ImageResult.java | 2 + .../AndroidAuthenticationConfigProvider.java | 4 +- .../java/com/google/maps/android/Context.java | 4 +- .../com/google/maps/android/PackageInfo.java | 4 +- .../google/maps/internal/SafeEnumAdapter.java | 4 +- .../com/google/maps/internal/StringJoin.java | 4 +- .../internal/ratelimiter/RateLimiter.java | 1 + .../ratelimiter/SmoothRateLimiter.java | 4 + .../google/maps/model/EncodedPolyline.java | 4 +- .../google/maps/model/GeolocationPayload.java | 8 ++ .../com/google/maps/model/PlaceDetails.java | 59 +++++---- .../com/google/maps/model/SpeedLimit.java | 4 +- .../com/google/maps/GeolocationApiTest.java | 112 +++++++++--------- .../com/google/maps/StaticMapsApiTest.java | 1 + 16 files changed, 169 insertions(+), 118 deletions(-) diff --git a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java index 12c7ee49b..a0f9a1993 100644 --- a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java +++ b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java @@ -21,6 +21,7 @@ import com.google.maps.DistanceMatrixApi.Response; import com.google.maps.model.*; import java.time.Instant; +import java.util.Arrays; /** A request to the Distance Matrix API. */ public class DistanceMatrixApiRequest @@ -96,10 +97,11 @@ public DistanceMatrixApiRequest destinations(LatLng... points) { * @return Returns this {@code DistanceMatrixApiRequest} for call chaining. */ public DistanceMatrixApiRequest mode(TravelMode mode) { - if (TravelMode.DRIVING.equals(mode) - || TravelMode.WALKING.equals(mode) - || TravelMode.BICYCLING.equals(mode) - || TravelMode.TRANSIT.equals(mode)) { + TravelMode[] validModes = { + TravelMode.DRIVING, TravelMode.WALKING, TravelMode.BICYCLING, TravelMode.TRANSIT + }; + + if (Arrays.asList(validModes).contains(mode)) { return param("mode", mode); } throw new IllegalArgumentException( diff --git a/src/main/java/com/google/maps/GeocodingApiRequest.java b/src/main/java/com/google/maps/GeocodingApiRequest.java index 0591953bd..ecfd2b43a 100644 --- a/src/main/java/com/google/maps/GeocodingApiRequest.java +++ b/src/main/java/com/google/maps/GeocodingApiRequest.java @@ -33,21 +33,33 @@ public GeocodingApiRequest(GeoApiContext context) { @Override protected void validateRequest() { // Must not have both address and latlng. - if (params().containsKey("latlng") - && params().containsKey("address") - && params().containsKey("place_id")) { - throw new IllegalArgumentException( - "Request must contain only one of 'address', 'latlng' or 'place_id'."); - } + validateRequestHasOnlyOne("address", "latlng", "place_id"); // Must contain at least one of place_id, address, latlng, and components; - if (!params().containsKey("latlng") - && !params().containsKey("address") - && !params().containsKey("components") - && !params().containsKey("place_id")) { - throw new IllegalArgumentException( - "Request must contain at least one of 'address', 'latlng', 'place_id' and 'components'."); + validateRequestHasAtLeastOne("address", "latlng", "place_id", "components"); + } + + private void validateRequestHasOnlyOne(String... keys) { + for (String key : keys) { + if (params().containsKey(key)) { + for (String otherKey : keys) { + if (!key.equals(otherKey) && params().containsKey(otherKey)) { + throw new IllegalArgumentException( + "Request must not contain both '" + key + "' and '" + otherKey + "'."); + } + } + } + } + } + + private void validateRequestHasAtLeastOne(String... keys) { + for (String key : keys) { + if (params().containsKey(key)) { + return; + } } + throw new IllegalArgumentException( + "Request must contain at least one of '" + join("', '", keys) + "'."); } /** @@ -60,6 +72,17 @@ public GeocodingApiRequest address(String address) { return param("address", address); } + /** + * Custom parameter. For advanced usage only. + * + * @param parameter The name of the custom parameter. + * @param value The value of the custom parameter. + * @return Returns the request for call chaining. + */ + public GeocodingApiRequest custom(String parameter, String value) { + return param(parameter, value); + } + /** * Creates a forward geocode for {@code placeId}. * @@ -111,21 +134,6 @@ public GeocodingApiRequest region(String region) { return param("region", region); } - /** - * Sets the component filters. Each component filter consists of a component:value pair and will - * fully restrict the results from the geocoder. - * - *

    For more information see - * Component Filtering. - * - * @param filters Component filters to apply to the request. - * @return Returns this {@code GeocodingApiRequest} for call chaining. - */ - public GeocodingApiRequest components(ComponentFilter... filters) { - return param("components", join('|', filters)); - } - /** * Sets the result type. Specifying a type will restrict the results to this type. If multiple * types are specified, the API will return all addresses that match any of the types. diff --git a/src/main/java/com/google/maps/ImageResult.java b/src/main/java/com/google/maps/ImageResult.java index 6c718648c..3d944f9aa 100644 --- a/src/main/java/com/google/maps/ImageResult.java +++ b/src/main/java/com/google/maps/ImageResult.java @@ -23,8 +23,10 @@ public class ImageResult implements Serializable { private static final long serialVersionUID = 1L; + /** The image data from the Photos API call. */ public final byte[] imageData; + /** The Content-Type header of the returned result. */ public final String contentType; diff --git a/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java b/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java index 861fad33c..86b724798 100644 --- a/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java +++ b/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java @@ -6,7 +6,9 @@ */ public class AndroidAuthenticationConfigProvider { - /** @return the environment specific {@link AndroidAuthenticationConfig} */ + /** + * @return the environment specific {@link AndroidAuthenticationConfig} + */ public AndroidAuthenticationConfig provide() { Context context = Context.getApplicationContext(); if (context == null) { diff --git a/src/main/java/com/google/maps/android/Context.java b/src/main/java/com/google/maps/android/Context.java index d23981a1f..6bae427f4 100644 --- a/src/main/java/com/google/maps/android/Context.java +++ b/src/main/java/com/google/maps/android/Context.java @@ -32,7 +32,9 @@ public static Context getApplicationContext() { } } - /** @return the package name of the Android app if available, otherwise, null */ + /** + * @return the package name of the Android app if available, otherwise, null + */ @Nullable public String getPackageName() { try { diff --git a/src/main/java/com/google/maps/android/PackageInfo.java b/src/main/java/com/google/maps/android/PackageInfo.java index 4ca9467c6..ab66dc14c 100644 --- a/src/main/java/com/google/maps/android/PackageInfo.java +++ b/src/main/java/com/google/maps/android/PackageInfo.java @@ -13,7 +13,9 @@ public PackageInfo(Class piClass, Object piInstance) { this.piInstance = piInstance; } - /** @return the signing signature for the app */ + /** + * @return the signing signature for the app + */ @Nullable public Object signingSignature() { try { diff --git a/src/main/java/com/google/maps/internal/SafeEnumAdapter.java b/src/main/java/com/google/maps/internal/SafeEnumAdapter.java index 19ab6848c..856abad76 100644 --- a/src/main/java/com/google/maps/internal/SafeEnumAdapter.java +++ b/src/main/java/com/google/maps/internal/SafeEnumAdapter.java @@ -38,7 +38,9 @@ public class SafeEnumAdapter> extends TypeAdapter { private final Class clazz; private final E unknownValue; - /** @param unknownValue the value to return if the value cannot be found. */ + /** + * @param unknownValue the value to return if the value cannot be found. + */ public SafeEnumAdapter(E unknownValue) { if (unknownValue == null) throw new IllegalArgumentException(); diff --git a/src/main/java/com/google/maps/internal/StringJoin.java b/src/main/java/com/google/maps/internal/StringJoin.java index f52b0dd7d..84067783d 100644 --- a/src/main/java/com/google/maps/internal/StringJoin.java +++ b/src/main/java/com/google/maps/internal/StringJoin.java @@ -67,7 +67,9 @@ public static String join(char delim, UrlValue... parts) { * string joinable. */ public interface UrlValue { - /** @return the object, represented as a URL value (not URL encoded). */ + /** + * @return the object, represented as a URL value (not URL encoded). + */ String toUrlValue(); } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java index 4ba8860d2..04826c4fb 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java @@ -100,6 +100,7 @@ public abstract class RateLimiter { * object to facilitate testing. */ private final SleepingStopwatch stopwatch; + // Can't be initialized in the constructor because mocks don't call the constructor. private volatile Object mutexDoNotUseDirectly; diff --git a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java index 67c7f228d..2451163bd 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java @@ -151,13 +151,16 @@ abstract class SmoothRateLimiter extends RateLimiter { /** The currently stored permits. */ double storedPermits; + /** The maximum number of stored permits. */ double maxPermits; + /** * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits * per second has a stable interval of 200ms. */ double stableIntervalMicros; + /** * The time when the next request (no matter its size) will be granted. After granting a request, * this is pushed further in the future. Large requests push this further than small requests. @@ -292,6 +295,7 @@ void resync(long nowMicros) { */ static final class SmoothWarmingUp extends SmoothRateLimiter { private final long warmupPeriodMicros; + /** * The slope of the line from the stable interval (when permits == 0), to the cold interval * (when permits == maxPermits) diff --git a/src/main/java/com/google/maps/model/EncodedPolyline.java b/src/main/java/com/google/maps/model/EncodedPolyline.java index 07f75ddeb..f4dee9c02 100644 --- a/src/main/java/com/google/maps/model/EncodedPolyline.java +++ b/src/main/java/com/google/maps/model/EncodedPolyline.java @@ -42,7 +42,9 @@ public EncodedPolyline(String encodedPoints) { this.points = encodedPoints; } - /** @param points A path as a collection of {@code LatLng} points. */ + /** + * @param points A path as a collection of {@code LatLng} points. + */ public EncodedPolyline(List points) { this.points = PolylineEncoding.encode(points); } diff --git a/src/main/java/com/google/maps/model/GeolocationPayload.java b/src/main/java/com/google/maps/model/GeolocationPayload.java index 4d33da9ba..d29bff445 100644 --- a/src/main/java/com/google/maps/model/GeolocationPayload.java +++ b/src/main/java/com/google/maps/model/GeolocationPayload.java @@ -36,30 +36,38 @@ public class GeolocationPayload implements Serializable { private static final long serialVersionUID = 1L; + /** The mobile country code (MCC) for the device's home network. */ public Integer homeMobileCountryCode = null; + /** The mobile network code (MNC) for the device's home network. */ public Integer homeMobileNetworkCode = null; + /** * The mobile radio type. Supported values are {@code "lte"}, {@code "gsm"}, {@code "cdma"}, and * {@code "wcdma"}. While this field is optional, it should be included if a value is available, * for more accurate results. */ public String radioType = null; + /** The carrier name. */ public String carrier = null; + /** * Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not * available. Note that the IP address in the request header may not be the IP of the device. * Defaults to true. Set considerIp to false to disable fall back. */ public Boolean considerIp = null; + /** An array of cell tower objects. See {@link com.google.maps.model.CellTower}. */ public CellTower[] cellTowers; + /** An array of WiFi access point objects. See {@link com.google.maps.model.WifiAccessPoint}. */ public WifiAccessPoint[] wifiAccessPoints; public GeolocationPayload() {} + // constructor only used by the builder class below private GeolocationPayload( Integer _homeMobileCountryCode, diff --git a/src/main/java/com/google/maps/model/PlaceDetails.java b/src/main/java/com/google/maps/model/PlaceDetails.java index af0d2023e..b2f999454 100644 --- a/src/main/java/com/google/maps/model/PlaceDetails.java +++ b/src/main/java/com/google/maps/model/PlaceDetails.java @@ -230,18 +230,8 @@ public String toString() { if (altIds != null && altIds.length > 0) { sb.append(", altIds=").append(Arrays.toString(altIds)); } - if (formattedPhoneNumber != null) { - sb.append(", phone=").append(formattedPhoneNumber); - } - if (internationalPhoneNumber != null) { - sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber); - } - if (url != null) { - sb.append(", url=").append(url); - } - if (website != null) { - sb.append(", website=").append(website); - } + sb.append(addPhoneNumber(sb)); + sb.append(addWebsiteInfo(sb)); if (icon != null) { sb.append(", icon"); } @@ -271,6 +261,41 @@ public String toString() { if (secondaryOpeningHours != null) { sb.append(", secondaryOpeningHours=").append(secondaryOpeningHours); } + sb.append(addServingInfo(sb)); + if (takeout != null) { + sb.append(", takeout=").append(takeout); + } + if (wheelchairAccessibleEntrance != null) { + sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance); + } + if (htmlAttributions != null && htmlAttributions.length > 0) { + sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions"); + } + sb.append("]"); + return sb.toString(); + } + + private String addPhoneNumber(StringBuilder sb) { + if (formattedPhoneNumber != null) { + sb.append(", phone=").append(formattedPhoneNumber); + } + if (internationalPhoneNumber != null) { + sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber); + } + return sb.toString(); + } + + private String addWebsiteInfo(StringBuilder sb) { + if (url != null) { + sb.append(", url=").append(url); + } + if (website != null) { + sb.append(", website=").append(website); + } + return sb.toString(); + } + + private String addServingInfo(StringBuilder sb) { if (servesBeer != null) { sb.append(", servesBeer=").append(servesBeer); } @@ -292,16 +317,6 @@ public String toString() { if (servesWine != null) { sb.append(", servesWine=").append(servesWine); } - if (takeout != null) { - sb.append(", takeout=").append(takeout); - } - if (wheelchairAccessibleEntrance != null) { - sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance); - } - if (htmlAttributions != null && htmlAttributions.length > 0) { - sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions"); - } - sb.append("]"); return sb.toString(); } diff --git a/src/main/java/com/google/maps/model/SpeedLimit.java b/src/main/java/com/google/maps/model/SpeedLimit.java index 313e27079..cdbbb35aa 100644 --- a/src/main/java/com/google/maps/model/SpeedLimit.java +++ b/src/main/java/com/google/maps/model/SpeedLimit.java @@ -35,7 +35,9 @@ public class SpeedLimit implements Serializable { */ public double speedLimit; - /** @return Returns the speed limit in miles per hour (MPH). */ + /** + * @return Returns the speed limit in miles per hour (MPH). + */ public long speedLimitMph() { return Math.round(speedLimit * 0.621371); } diff --git a/src/test/java/com/google/maps/GeolocationApiTest.java b/src/test/java/com/google/maps/GeolocationApiTest.java index 8388e17c0..53738eb11 100644 --- a/src/test/java/com/google/maps/GeolocationApiTest.java +++ b/src/test/java/com/google/maps/GeolocationApiTest.java @@ -64,27 +64,27 @@ public void testDocSampleGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .Age(0) - .SignalStrength(-95) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .Age(0) + .SignalStrength(-95) + .createCellTower()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("01:23:45:67:89:AB") - .SignalStrength(-65) - .SignalToNoiseRatio(8) - .Channel(8) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-65) + .SignalToNoiseRatio(8) + .Channel(8) + .Age(0) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("01:23:45:67:89:AC") - .SignalStrength(4) - .SignalToNoiseRatio(4) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(4) + .SignalToNoiseRatio(4) + .Age(0) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -110,12 +110,10 @@ public void testMinimumWifiGeolocation() throws Exception { .ConsiderIp(false) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:11") - .createWifiAccessPoint()) + .MacAddress("94:b4:0f:ff:6b:11").createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:10") - .createWifiAccessPoint()) + .MacAddress("94:b4:0f:ff:6b:10").createWifiAccessPoint()) .CreatePayload() .await(); @@ -141,15 +139,15 @@ public void testBasicGeolocation() throws Exception { .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("92:68:c3:f8:76:47") - .SignalStrength(-42) - .SignalToNoiseRatio(68) - .createWifiAccessPoint()) + .SignalStrength(-42) + .SignalToNoiseRatio(68) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:6b:11") - .SignalStrength(-55) - .SignalToNoiseRatio(55) - .createWifiAccessPoint()) + .SignalStrength(-55) + .SignalToNoiseRatio(55) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -178,12 +176,10 @@ public void testAlternateWifiSetterGeolocation() throws Exception { WifiAccessPoint[] wifiAccessPoints = new WifiAccessPoint[2]; wifiAccessPoints[0] = new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:11") - .createWifiAccessPoint(); + .MacAddress("94:b4:0f:ff:6b:11").createWifiAccessPoint(); wifiAccessPoints[1] = new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:10") - .createWifiAccessPoint(); + .MacAddress("94:b4:0f:ff:6b:10").createWifiAccessPoint(); GeolocationResult result = GeolocationApi.newRequest(sc.context) @@ -220,19 +216,19 @@ public void testMaximumWifiGeolocation() throws Exception { .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:88:31") - .SignalStrength(-61) - .SignalToNoiseRatio(49) - .Channel(40) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-61) + .SignalToNoiseRatio(49) + .Channel(40) + .Age(0) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:88:30") - .SignalStrength(-64) - .SignalToNoiseRatio(46) - .Channel(40) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-64) + .SignalToNoiseRatio(46) + .Channel(40) + .Age(0) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -272,10 +268,10 @@ public void testMinimumCellTowerGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .createCellTower()) .CreatePayload() .await(); @@ -301,14 +297,14 @@ public void testAlternatePayloadBuilderGeolocation() throws Exception { GeolocationPayload payload = new GeolocationPayload.GeolocationPayloadBuilder() .ConsiderIp(false) - .AddCellTower( - new CellTower.CellTowerBuilder() - .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .createCellTower()) - .createGeolocationPayload(); + .AddCellTower( + new CellTower.CellTowerBuilder() + .CellId(39627456) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .createCellTower()) + .createGeolocationPayload(); GeolocationResult result = GeolocationApi.geolocate(sc.context, payload).await(); assertNotNull(result.toString()); @@ -338,13 +334,13 @@ public void testMaximumCellTowerGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .Age(0) - .SignalStrength(-103) - .TimingAdvance(15) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .Age(0) + .SignalStrength(-103) + .TimingAdvance(15) + .createCellTower()) .CreatePayload() .await(); diff --git a/src/test/java/com/google/maps/StaticMapsApiTest.java b/src/test/java/com/google/maps/StaticMapsApiTest.java index bc00b3064..6cf54057f 100644 --- a/src/test/java/com/google/maps/StaticMapsApiTest.java +++ b/src/test/java/com/google/maps/StaticMapsApiTest.java @@ -40,6 +40,7 @@ public class StaticMapsApiTest { private final int HEIGHT = 480; private final LatLng MELBOURNE = new LatLng(-37.8136, 144.9630); private final LatLng SYDNEY = new LatLng(-33.8688, 151.2093); + /** This encoded path matches the exact [MELBOURNE, SYDNEY] points. */ private final String MELBOURNE_TO_SYDNEY_ENCODED_POLYLINE = "~mxeFwaxsZ_naWk~be@"; From 1eff97ffb0b70080bd7ee921be4b4f0862331545 Mon Sep 17 00:00:00 2001 From: Aman Harishkumar Desai Date: Mon, 27 Nov 2023 19:44:56 -0400 Subject: [PATCH 6/6] fix three implementation smells and reformatted code --- .../google/maps/DistanceMatrixApiRequest.java | 10 +- .../com/google/maps/GeocodingApiRequest.java | 62 +++++----- .../java/com/google/maps/ImageResult.java | 2 + .../AndroidAuthenticationConfigProvider.java | 4 +- .../java/com/google/maps/android/Context.java | 4 +- .../com/google/maps/android/PackageInfo.java | 4 +- .../google/maps/internal/SafeEnumAdapter.java | 4 +- .../com/google/maps/internal/StringJoin.java | 4 +- .../internal/ratelimiter/RateLimiter.java | 1 + .../ratelimiter/SmoothRateLimiter.java | 4 + .../google/maps/model/EncodedPolyline.java | 4 +- .../google/maps/model/GeolocationPayload.java | 8 ++ .../com/google/maps/model/PlaceDetails.java | 59 +++++---- .../com/google/maps/model/SpeedLimit.java | 4 +- .../com/google/maps/GeolocationApiTest.java | 112 +++++++++--------- .../com/google/maps/StaticMapsApiTest.java | 1 + 16 files changed, 169 insertions(+), 118 deletions(-) diff --git a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java index 12c7ee49b..a0f9a1993 100644 --- a/src/main/java/com/google/maps/DistanceMatrixApiRequest.java +++ b/src/main/java/com/google/maps/DistanceMatrixApiRequest.java @@ -21,6 +21,7 @@ import com.google.maps.DistanceMatrixApi.Response; import com.google.maps.model.*; import java.time.Instant; +import java.util.Arrays; /** A request to the Distance Matrix API. */ public class DistanceMatrixApiRequest @@ -96,10 +97,11 @@ public DistanceMatrixApiRequest destinations(LatLng... points) { * @return Returns this {@code DistanceMatrixApiRequest} for call chaining. */ public DistanceMatrixApiRequest mode(TravelMode mode) { - if (TravelMode.DRIVING.equals(mode) - || TravelMode.WALKING.equals(mode) - || TravelMode.BICYCLING.equals(mode) - || TravelMode.TRANSIT.equals(mode)) { + TravelMode[] validModes = { + TravelMode.DRIVING, TravelMode.WALKING, TravelMode.BICYCLING, TravelMode.TRANSIT + }; + + if (Arrays.asList(validModes).contains(mode)) { return param("mode", mode); } throw new IllegalArgumentException( diff --git a/src/main/java/com/google/maps/GeocodingApiRequest.java b/src/main/java/com/google/maps/GeocodingApiRequest.java index 0591953bd..ecfd2b43a 100644 --- a/src/main/java/com/google/maps/GeocodingApiRequest.java +++ b/src/main/java/com/google/maps/GeocodingApiRequest.java @@ -33,21 +33,33 @@ public GeocodingApiRequest(GeoApiContext context) { @Override protected void validateRequest() { // Must not have both address and latlng. - if (params().containsKey("latlng") - && params().containsKey("address") - && params().containsKey("place_id")) { - throw new IllegalArgumentException( - "Request must contain only one of 'address', 'latlng' or 'place_id'."); - } + validateRequestHasOnlyOne("address", "latlng", "place_id"); // Must contain at least one of place_id, address, latlng, and components; - if (!params().containsKey("latlng") - && !params().containsKey("address") - && !params().containsKey("components") - && !params().containsKey("place_id")) { - throw new IllegalArgumentException( - "Request must contain at least one of 'address', 'latlng', 'place_id' and 'components'."); + validateRequestHasAtLeastOne("address", "latlng", "place_id", "components"); + } + + private void validateRequestHasOnlyOne(String... keys) { + for (String key : keys) { + if (params().containsKey(key)) { + for (String otherKey : keys) { + if (!key.equals(otherKey) && params().containsKey(otherKey)) { + throw new IllegalArgumentException( + "Request must not contain both '" + key + "' and '" + otherKey + "'."); + } + } + } + } + } + + private void validateRequestHasAtLeastOne(String... keys) { + for (String key : keys) { + if (params().containsKey(key)) { + return; + } } + throw new IllegalArgumentException( + "Request must contain at least one of '" + join("', '", keys) + "'."); } /** @@ -60,6 +72,17 @@ public GeocodingApiRequest address(String address) { return param("address", address); } + /** + * Custom parameter. For advanced usage only. + * + * @param parameter The name of the custom parameter. + * @param value The value of the custom parameter. + * @return Returns the request for call chaining. + */ + public GeocodingApiRequest custom(String parameter, String value) { + return param(parameter, value); + } + /** * Creates a forward geocode for {@code placeId}. * @@ -111,21 +134,6 @@ public GeocodingApiRequest region(String region) { return param("region", region); } - /** - * Sets the component filters. Each component filter consists of a component:value pair and will - * fully restrict the results from the geocoder. - * - *

    For more information see - * Component Filtering. - * - * @param filters Component filters to apply to the request. - * @return Returns this {@code GeocodingApiRequest} for call chaining. - */ - public GeocodingApiRequest components(ComponentFilter... filters) { - return param("components", join('|', filters)); - } - /** * Sets the result type. Specifying a type will restrict the results to this type. If multiple * types are specified, the API will return all addresses that match any of the types. diff --git a/src/main/java/com/google/maps/ImageResult.java b/src/main/java/com/google/maps/ImageResult.java index 6c718648c..3d944f9aa 100644 --- a/src/main/java/com/google/maps/ImageResult.java +++ b/src/main/java/com/google/maps/ImageResult.java @@ -23,8 +23,10 @@ public class ImageResult implements Serializable { private static final long serialVersionUID = 1L; + /** The image data from the Photos API call. */ public final byte[] imageData; + /** The Content-Type header of the returned result. */ public final String contentType; diff --git a/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java b/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java index 861fad33c..86b724798 100644 --- a/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java +++ b/src/main/java/com/google/maps/android/AndroidAuthenticationConfigProvider.java @@ -6,7 +6,9 @@ */ public class AndroidAuthenticationConfigProvider { - /** @return the environment specific {@link AndroidAuthenticationConfig} */ + /** + * @return the environment specific {@link AndroidAuthenticationConfig} + */ public AndroidAuthenticationConfig provide() { Context context = Context.getApplicationContext(); if (context == null) { diff --git a/src/main/java/com/google/maps/android/Context.java b/src/main/java/com/google/maps/android/Context.java index d23981a1f..6bae427f4 100644 --- a/src/main/java/com/google/maps/android/Context.java +++ b/src/main/java/com/google/maps/android/Context.java @@ -32,7 +32,9 @@ public static Context getApplicationContext() { } } - /** @return the package name of the Android app if available, otherwise, null */ + /** + * @return the package name of the Android app if available, otherwise, null + */ @Nullable public String getPackageName() { try { diff --git a/src/main/java/com/google/maps/android/PackageInfo.java b/src/main/java/com/google/maps/android/PackageInfo.java index 4ca9467c6..ab66dc14c 100644 --- a/src/main/java/com/google/maps/android/PackageInfo.java +++ b/src/main/java/com/google/maps/android/PackageInfo.java @@ -13,7 +13,9 @@ public PackageInfo(Class piClass, Object piInstance) { this.piInstance = piInstance; } - /** @return the signing signature for the app */ + /** + * @return the signing signature for the app + */ @Nullable public Object signingSignature() { try { diff --git a/src/main/java/com/google/maps/internal/SafeEnumAdapter.java b/src/main/java/com/google/maps/internal/SafeEnumAdapter.java index 19ab6848c..856abad76 100644 --- a/src/main/java/com/google/maps/internal/SafeEnumAdapter.java +++ b/src/main/java/com/google/maps/internal/SafeEnumAdapter.java @@ -38,7 +38,9 @@ public class SafeEnumAdapter> extends TypeAdapter { private final Class clazz; private final E unknownValue; - /** @param unknownValue the value to return if the value cannot be found. */ + /** + * @param unknownValue the value to return if the value cannot be found. + */ public SafeEnumAdapter(E unknownValue) { if (unknownValue == null) throw new IllegalArgumentException(); diff --git a/src/main/java/com/google/maps/internal/StringJoin.java b/src/main/java/com/google/maps/internal/StringJoin.java index f52b0dd7d..84067783d 100644 --- a/src/main/java/com/google/maps/internal/StringJoin.java +++ b/src/main/java/com/google/maps/internal/StringJoin.java @@ -67,7 +67,9 @@ public static String join(char delim, UrlValue... parts) { * string joinable. */ public interface UrlValue { - /** @return the object, represented as a URL value (not URL encoded). */ + /** + * @return the object, represented as a URL value (not URL encoded). + */ String toUrlValue(); } } diff --git a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java index 4ba8860d2..04826c4fb 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/RateLimiter.java @@ -100,6 +100,7 @@ public abstract class RateLimiter { * object to facilitate testing. */ private final SleepingStopwatch stopwatch; + // Can't be initialized in the constructor because mocks don't call the constructor. private volatile Object mutexDoNotUseDirectly; diff --git a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java index 67c7f228d..2451163bd 100644 --- a/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java +++ b/src/main/java/com/google/maps/internal/ratelimiter/SmoothRateLimiter.java @@ -151,13 +151,16 @@ abstract class SmoothRateLimiter extends RateLimiter { /** The currently stored permits. */ double storedPermits; + /** The maximum number of stored permits. */ double maxPermits; + /** * The interval between two unit requests, at our stable rate. E.g., a stable rate of 5 permits * per second has a stable interval of 200ms. */ double stableIntervalMicros; + /** * The time when the next request (no matter its size) will be granted. After granting a request, * this is pushed further in the future. Large requests push this further than small requests. @@ -292,6 +295,7 @@ void resync(long nowMicros) { */ static final class SmoothWarmingUp extends SmoothRateLimiter { private final long warmupPeriodMicros; + /** * The slope of the line from the stable interval (when permits == 0), to the cold interval * (when permits == maxPermits) diff --git a/src/main/java/com/google/maps/model/EncodedPolyline.java b/src/main/java/com/google/maps/model/EncodedPolyline.java index 07f75ddeb..f4dee9c02 100644 --- a/src/main/java/com/google/maps/model/EncodedPolyline.java +++ b/src/main/java/com/google/maps/model/EncodedPolyline.java @@ -42,7 +42,9 @@ public EncodedPolyline(String encodedPoints) { this.points = encodedPoints; } - /** @param points A path as a collection of {@code LatLng} points. */ + /** + * @param points A path as a collection of {@code LatLng} points. + */ public EncodedPolyline(List points) { this.points = PolylineEncoding.encode(points); } diff --git a/src/main/java/com/google/maps/model/GeolocationPayload.java b/src/main/java/com/google/maps/model/GeolocationPayload.java index 4d33da9ba..d29bff445 100644 --- a/src/main/java/com/google/maps/model/GeolocationPayload.java +++ b/src/main/java/com/google/maps/model/GeolocationPayload.java @@ -36,30 +36,38 @@ public class GeolocationPayload implements Serializable { private static final long serialVersionUID = 1L; + /** The mobile country code (MCC) for the device's home network. */ public Integer homeMobileCountryCode = null; + /** The mobile network code (MNC) for the device's home network. */ public Integer homeMobileNetworkCode = null; + /** * The mobile radio type. Supported values are {@code "lte"}, {@code "gsm"}, {@code "cdma"}, and * {@code "wcdma"}. While this field is optional, it should be included if a value is available, * for more accurate results. */ public String radioType = null; + /** The carrier name. */ public String carrier = null; + /** * Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not * available. Note that the IP address in the request header may not be the IP of the device. * Defaults to true. Set considerIp to false to disable fall back. */ public Boolean considerIp = null; + /** An array of cell tower objects. See {@link com.google.maps.model.CellTower}. */ public CellTower[] cellTowers; + /** An array of WiFi access point objects. See {@link com.google.maps.model.WifiAccessPoint}. */ public WifiAccessPoint[] wifiAccessPoints; public GeolocationPayload() {} + // constructor only used by the builder class below private GeolocationPayload( Integer _homeMobileCountryCode, diff --git a/src/main/java/com/google/maps/model/PlaceDetails.java b/src/main/java/com/google/maps/model/PlaceDetails.java index af0d2023e..b2f999454 100644 --- a/src/main/java/com/google/maps/model/PlaceDetails.java +++ b/src/main/java/com/google/maps/model/PlaceDetails.java @@ -230,18 +230,8 @@ public String toString() { if (altIds != null && altIds.length > 0) { sb.append(", altIds=").append(Arrays.toString(altIds)); } - if (formattedPhoneNumber != null) { - sb.append(", phone=").append(formattedPhoneNumber); - } - if (internationalPhoneNumber != null) { - sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber); - } - if (url != null) { - sb.append(", url=").append(url); - } - if (website != null) { - sb.append(", website=").append(website); - } + sb.append(addPhoneNumber(sb)); + sb.append(addWebsiteInfo(sb)); if (icon != null) { sb.append(", icon"); } @@ -271,6 +261,41 @@ public String toString() { if (secondaryOpeningHours != null) { sb.append(", secondaryOpeningHours=").append(secondaryOpeningHours); } + sb.append(addServingInfo(sb)); + if (takeout != null) { + sb.append(", takeout=").append(takeout); + } + if (wheelchairAccessibleEntrance != null) { + sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance); + } + if (htmlAttributions != null && htmlAttributions.length > 0) { + sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions"); + } + sb.append("]"); + return sb.toString(); + } + + private String addPhoneNumber(StringBuilder sb) { + if (formattedPhoneNumber != null) { + sb.append(", phone=").append(formattedPhoneNumber); + } + if (internationalPhoneNumber != null) { + sb.append(", internationalPhoneNumber=").append(internationalPhoneNumber); + } + return sb.toString(); + } + + private String addWebsiteInfo(StringBuilder sb) { + if (url != null) { + sb.append(", url=").append(url); + } + if (website != null) { + sb.append(", website=").append(website); + } + return sb.toString(); + } + + private String addServingInfo(StringBuilder sb) { if (servesBeer != null) { sb.append(", servesBeer=").append(servesBeer); } @@ -292,16 +317,6 @@ public String toString() { if (servesWine != null) { sb.append(", servesWine=").append(servesWine); } - if (takeout != null) { - sb.append(", takeout=").append(takeout); - } - if (wheelchairAccessibleEntrance != null) { - sb.append(", wheelchairAccessibleEntrance=").append(wheelchairAccessibleEntrance); - } - if (htmlAttributions != null && htmlAttributions.length > 0) { - sb.append(", ").append(htmlAttributions.length).append(" htmlAttributions"); - } - sb.append("]"); return sb.toString(); } diff --git a/src/main/java/com/google/maps/model/SpeedLimit.java b/src/main/java/com/google/maps/model/SpeedLimit.java index 313e27079..cdbbb35aa 100644 --- a/src/main/java/com/google/maps/model/SpeedLimit.java +++ b/src/main/java/com/google/maps/model/SpeedLimit.java @@ -35,7 +35,9 @@ public class SpeedLimit implements Serializable { */ public double speedLimit; - /** @return Returns the speed limit in miles per hour (MPH). */ + /** + * @return Returns the speed limit in miles per hour (MPH). + */ public long speedLimitMph() { return Math.round(speedLimit * 0.621371); } diff --git a/src/test/java/com/google/maps/GeolocationApiTest.java b/src/test/java/com/google/maps/GeolocationApiTest.java index 8388e17c0..53738eb11 100644 --- a/src/test/java/com/google/maps/GeolocationApiTest.java +++ b/src/test/java/com/google/maps/GeolocationApiTest.java @@ -64,27 +64,27 @@ public void testDocSampleGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .Age(0) - .SignalStrength(-95) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .Age(0) + .SignalStrength(-95) + .createCellTower()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("01:23:45:67:89:AB") - .SignalStrength(-65) - .SignalToNoiseRatio(8) - .Channel(8) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-65) + .SignalToNoiseRatio(8) + .Channel(8) + .Age(0) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("01:23:45:67:89:AC") - .SignalStrength(4) - .SignalToNoiseRatio(4) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(4) + .SignalToNoiseRatio(4) + .Age(0) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -110,12 +110,10 @@ public void testMinimumWifiGeolocation() throws Exception { .ConsiderIp(false) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:11") - .createWifiAccessPoint()) + .MacAddress("94:b4:0f:ff:6b:11").createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:10") - .createWifiAccessPoint()) + .MacAddress("94:b4:0f:ff:6b:10").createWifiAccessPoint()) .CreatePayload() .await(); @@ -141,15 +139,15 @@ public void testBasicGeolocation() throws Exception { .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("92:68:c3:f8:76:47") - .SignalStrength(-42) - .SignalToNoiseRatio(68) - .createWifiAccessPoint()) + .SignalStrength(-42) + .SignalToNoiseRatio(68) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:6b:11") - .SignalStrength(-55) - .SignalToNoiseRatio(55) - .createWifiAccessPoint()) + .SignalStrength(-55) + .SignalToNoiseRatio(55) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -178,12 +176,10 @@ public void testAlternateWifiSetterGeolocation() throws Exception { WifiAccessPoint[] wifiAccessPoints = new WifiAccessPoint[2]; wifiAccessPoints[0] = new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:11") - .createWifiAccessPoint(); + .MacAddress("94:b4:0f:ff:6b:11").createWifiAccessPoint(); wifiAccessPoints[1] = new WifiAccessPoint.WifiAccessPointBuilder() - .MacAddress("94:b4:0f:ff:6b:10") - .createWifiAccessPoint(); + .MacAddress("94:b4:0f:ff:6b:10").createWifiAccessPoint(); GeolocationResult result = GeolocationApi.newRequest(sc.context) @@ -220,19 +216,19 @@ public void testMaximumWifiGeolocation() throws Exception { .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:88:31") - .SignalStrength(-61) - .SignalToNoiseRatio(49) - .Channel(40) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-61) + .SignalToNoiseRatio(49) + .Channel(40) + .Age(0) + .createWifiAccessPoint()) .AddWifiAccessPoint( new WifiAccessPoint.WifiAccessPointBuilder() .MacAddress("94:b4:0f:ff:88:30") - .SignalStrength(-64) - .SignalToNoiseRatio(46) - .Channel(40) - .Age(0) - .createWifiAccessPoint()) + .SignalStrength(-64) + .SignalToNoiseRatio(46) + .Channel(40) + .Age(0) + .createWifiAccessPoint()) .CreatePayload() .await(); @@ -272,10 +268,10 @@ public void testMinimumCellTowerGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .createCellTower()) .CreatePayload() .await(); @@ -301,14 +297,14 @@ public void testAlternatePayloadBuilderGeolocation() throws Exception { GeolocationPayload payload = new GeolocationPayload.GeolocationPayloadBuilder() .ConsiderIp(false) - .AddCellTower( - new CellTower.CellTowerBuilder() - .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .createCellTower()) - .createGeolocationPayload(); + .AddCellTower( + new CellTower.CellTowerBuilder() + .CellId(39627456) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .createCellTower()) + .createGeolocationPayload(); GeolocationResult result = GeolocationApi.geolocate(sc.context, payload).await(); assertNotNull(result.toString()); @@ -338,13 +334,13 @@ public void testMaximumCellTowerGeolocation() throws Exception { .AddCellTower( new CellTower.CellTowerBuilder() .CellId(39627456) - .LocationAreaCode(40495) - .MobileCountryCode(310) - .MobileNetworkCode(260) - .Age(0) - .SignalStrength(-103) - .TimingAdvance(15) - .createCellTower()) + .LocationAreaCode(40495) + .MobileCountryCode(310) + .MobileNetworkCode(260) + .Age(0) + .SignalStrength(-103) + .TimingAdvance(15) + .createCellTower()) .CreatePayload() .await(); diff --git a/src/test/java/com/google/maps/StaticMapsApiTest.java b/src/test/java/com/google/maps/StaticMapsApiTest.java index bc00b3064..6cf54057f 100644 --- a/src/test/java/com/google/maps/StaticMapsApiTest.java +++ b/src/test/java/com/google/maps/StaticMapsApiTest.java @@ -40,6 +40,7 @@ public class StaticMapsApiTest { private final int HEIGHT = 480; private final LatLng MELBOURNE = new LatLng(-37.8136, 144.9630); private final LatLng SYDNEY = new LatLng(-33.8688, 151.2093); + /** This encoded path matches the exact [MELBOURNE, SYDNEY] points. */ private final String MELBOURNE_TO_SYDNEY_ENCODED_POLYLINE = "~mxeFwaxsZ_naWk~be@";