Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: lordamot/PokeGOAPI-Java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: Development
Choose a base ref
...
head repository: Grover-c13/PokeGOAPI-Java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: Development
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
Loading
Showing with 31,613 additions and 32,399 deletions.
  1. +1 −0 .gitignore
  2. +2 −1 .gitmodules
  3. +66 −17 README.md
  4. +1 −1 build.gradle
  5. +0 −721 classes/production/PokeGOAPI-Java/pokemon_names_de.properties
  6. +0 −721 classes/production/PokeGOAPI-Java/pokemon_names_fr.properties
  7. +0 −721 classes/production/PokeGOAPI-Java/pokemon_names_ru.properties
  8. +0 −721 classes/production/PokeGOAPI-Java/pokemon_names_zh_CN.properties
  9. +0 −151 classes/production/PokeGOAPI-Java/pokemon_names_zh_HK.properties
  10. +2 −2 gradle/wrapper/gradle-wrapper.properties
  11. +81 −84 library/build.gradle
  12. +0 −1 library/config/suppressions.xml
  13. +586 −63 library/src/main/java/com/pokegoapi/api/PokemonGo.java
  14. +106 −0 library/src/main/java/com/pokegoapi/api/device/ActivityStatus.java
  15. +135 −26 library/src/main/java/com/pokegoapi/api/device/DeviceInfo.java
  16. +11 −11 library/src/main/java/com/pokegoapi/api/device/DeviceInfos.java
  17. +155 −0 library/src/main/java/com/pokegoapi/api/device/LocationFixes.java
  18. +256 −0 library/src/main/java/com/pokegoapi/api/device/SensorInfo.java
  19. +92 −0 library/src/main/java/com/pokegoapi/api/device/SensorInfos.java
  20. +971 −135 library/src/main/java/com/pokegoapi/api/gym/Battle.java
  21. +165 −82 library/src/main/java/com/pokegoapi/api/gym/Gym.java
  22. +53 −22 library/src/main/java/com/pokegoapi/api/inventory/CandyJar.java
  23. +56 −45 library/src/main/java/com/pokegoapi/api/inventory/EggIncubator.java
  24. +94 −32 library/src/main/java/com/pokegoapi/api/inventory/Hatchery.java
  25. +124 −63 library/src/main/java/com/pokegoapi/api/inventory/Inventories.java
  26. +106 −17 library/src/main/java/com/pokegoapi/api/inventory/Item.java
  27. +172 −73 library/src/main/java/com/pokegoapi/api/inventory/ItemBag.java
  28. +143 −31 library/src/main/java/com/pokegoapi/api/inventory/PokeBank.java
  29. +9 −6 library/src/main/java/com/pokegoapi/api/inventory/Pokeball.java
  30. +19 −13 library/src/main/java/com/pokegoapi/api/inventory/Pokedex.java
  31. +40 −0 library/src/main/java/com/pokegoapi/api/listener/HeartbeatListener.java
  32. +4 −0 library/src/main/java/com/pokegoapi/api/listener/Listener.java
  33. +13 −0 library/src/main/java/com/pokegoapi/api/listener/LocationListener.java
  34. +23 −0 library/src/main/java/com/pokegoapi/api/listener/LoginListener.java
  35. +34 −0 library/src/main/java/com/pokegoapi/api/listener/PlayerListener.java
  36. +52 −0 library/src/main/java/com/pokegoapi/api/listener/PokemonListener.java
  37. +17 −0 library/src/main/java/com/pokegoapi/api/listener/PokestopListener.java
  38. +55 −0 library/src/main/java/com/pokegoapi/api/listener/RequestInterceptor.java
  39. +35 −0 library/src/main/java/com/pokegoapi/api/listener/TutorialListener.java
  40. +62 −598 library/src/main/java/com/pokegoapi/api/map/Map.java
  41. +122 −120 library/src/main/java/com/pokegoapi/api/map/MapObjects.java
  42. +19 −4 library/src/main/java/com/pokegoapi/api/map/Point.java
  43. +278 −0 library/src/main/java/com/pokegoapi/api/map/fort/Fort.java
  44. +1 −0 library/src/main/java/com/pokegoapi/api/map/fort/FortDetails.java
  45. +40 −216 library/src/main/java/com/pokegoapi/api/map/fort/Pokestop.java
  46. +9 −0 library/src/main/java/com/pokegoapi/api/map/fort/PokestopLootResult.java
  47. +102 −0 library/src/main/java/com/pokegoapi/api/map/fort/Raid.java
  48. +0 −54 library/src/main/java/com/pokegoapi/api/map/pokemon/CatchItemResult.java
  49. +0 −96 library/src/main/java/com/pokegoapi/api/map/pokemon/CatchResult.java
  50. +89 −757 library/src/main/java/com/pokegoapi/api/map/pokemon/CatchablePokemon.java
  51. +47 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/DiskEncounter.java
  52. +303 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/Encounter.java
  53. +90 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/EncounterResult.java
  54. +2 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java
  55. +45 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/IncenseEncounter.java
  56. +8 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/NearbyPokemon.java
  57. +95 −0 library/src/main/java/com/pokegoapi/api/map/pokemon/ThrowProperties.java
  58. +0 −85 library/src/main/java/com/pokegoapi/api/map/pokemon/encounter/DiskEncounterResult.java
  59. +0 −34 library/src/main/java/com/pokegoapi/api/map/pokemon/encounter/EncounterResult.java
  60. +0 −69 library/src/main/java/com/pokegoapi/api/map/pokemon/encounter/NormalEncounterResult.java
  61. +98 −0 library/src/main/java/com/pokegoapi/api/news/News.java
  62. +194 −0 library/src/main/java/com/pokegoapi/api/player/Avatar.java
  63. +1 −1 library/src/main/java/com/pokegoapi/api/player/DailyBonus.java
  64. +74 −0 library/src/main/java/com/pokegoapi/api/player/Medal.java
  65. +88 −6 library/src/main/java/com/pokegoapi/api/player/PlayerAvatar.java
  66. +14 −10 .../src/main/java/com/pokegoapi/api/{map/pokemon/CatchPokemonResult.java → player/PlayerGender.java}
  67. +54 −0 library/src/main/java/com/pokegoapi/api/player/PlayerLocale.java
  68. +473 −121 library/src/main/java/com/pokegoapi/api/player/PlayerProfile.java
  69. +0 −1 library/src/main/java/com/pokegoapi/api/player/Team.java
  70. +41 −0 library/src/main/java/com/pokegoapi/api/player/TutorialState.java
  71. +92 −0 library/src/main/java/com/pokegoapi/api/pokemon/Buddy.java
  72. +15 −15 library/src/main/java/com/pokegoapi/api/pokemon/EggPokemon.java
  73. +51 −0 library/src/main/java/com/pokegoapi/api/pokemon/Evolution.java
  74. +0 −29 library/src/main/java/com/pokegoapi/api/pokemon/EvolutionForm.java
  75. +0 −441 library/src/main/java/com/pokegoapi/api/pokemon/EvolutionInfo.java
  76. +145 −0 library/src/main/java/com/pokegoapi/api/pokemon/Evolutions.java
  77. +46 −7 library/src/main/java/com/pokegoapi/api/pokemon/HatchedEgg.java
  78. +181 −117 library/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java
  79. +82 −190 library/src/main/java/com/pokegoapi/api/pokemon/PokemonCpUtils.java
  80. +260 −145 library/src/main/java/com/pokegoapi/api/pokemon/PokemonDetails.java
  81. +0 −127 library/src/main/java/com/pokegoapi/api/pokemon/PokemonMeta.java
  82. +0 −6,611 library/src/main/java/com/pokegoapi/api/pokemon/PokemonMetaRegistry.java
  83. +0 −1,413 library/src/main/java/com/pokegoapi/api/pokemon/PokemonMoveMetaRegistry.java
  84. +5 −5 library/src/main/java/com/pokegoapi/api/pokemon/PokemonType.java
  85. +24 −0 library/src/main/java/com/pokegoapi/api/pokemon/StarterPokemon.java
  86. +1 −1 library/src/main/java/com/pokegoapi/api/settings/FortSettings.java
  87. +51 −0 library/src/main/java/com/pokegoapi/api/settings/GpsSettings.java
  88. +3 −3 library/src/main/java/com/pokegoapi/api/settings/MapSettings.java
  89. +58 −0 library/src/main/java/com/pokegoapi/api/settings/PokeballSelector.java
  90. +39 −36 library/src/main/java/com/pokegoapi/api/settings/Settings.java
  91. +47 −0 library/src/main/java/com/pokegoapi/api/settings/templates/DirectTemplateProvider.java
  92. +112 −0 library/src/main/java/com/pokegoapi/api/settings/templates/FileTemplateProvider.java
  93. +43 −0 library/src/main/java/com/pokegoapi/api/settings/templates/ItemTemplateProvider.java
  94. +226 −0 library/src/main/java/com/pokegoapi/api/settings/templates/ItemTemplates.java
  95. +18 −0 library/src/main/java/com/pokegoapi/api/settings/templates/TempFileTemplateProvider.java
  96. +7 −5 library/src/main/java/com/pokegoapi/auth/CredentialProvider.java
  97. +1 −0 library/src/main/java/com/pokegoapi/auth/GoogleAuthJson.java
  98. +7 −6 library/src/main/java/com/pokegoapi/auth/GoogleAuthTokenJson.java
  99. +51 −31 library/src/main/java/com/pokegoapi/auth/GoogleAutoCredentialProvider.java
  100. +68 −45 library/src/main/java/com/pokegoapi/auth/GoogleCredentialProvider.java
  101. +76 −60 library/src/main/java/com/pokegoapi/auth/GoogleUserCredentialProvider.java
  102. +2 −3 library/src/main/java/com/pokegoapi/auth/{PtcError.java → PtcAuthError.java}
  103. +2 −2 library/src/main/java/com/pokegoapi/auth/PtcAuthJson.java
  104. +130 −131 library/src/main/java/com/pokegoapi/auth/PtcCredentialProvider.java
  105. +5 −5 ...main/java/com/pokegoapi/exceptions/{RemoteServerException.java → InsufficientLevelException.java}
  106. +34 −0 library/src/main/java/com/pokegoapi/exceptions/request/BadRequestException.java
  107. +9 −5 ...in/java/com/pokegoapi/exceptions/{AsyncRemoteServerException.java → request/BannedException.java}
  108. +11 −25 ...com/pokegoapi/{api/pokemon/PokemonMoveMeta.java → exceptions/request/CaptchaActiveException.java}
  109. +11 −5 .../main/java/com/pokegoapi/exceptions/{AsyncLoginFailedException.java → request/HashException.java}
  110. +16 −5 ...ils.java → library/src/main/java/com/pokegoapi/exceptions/request/HashLimitExceededException.java
  111. +35 −0 library/src/main/java/com/pokegoapi/exceptions/request/HashUnauthorizedException.java
  112. +34 −0 library/src/main/java/com/pokegoapi/exceptions/request/InvalidCredentialsException.java
  113. +2 −2 library/src/main/java/com/pokegoapi/exceptions/{ → request}/LoginFailedException.java
  114. +34 −0 library/src/main/java/com/pokegoapi/exceptions/request/RequestFailedException.java
  115. +45 −46 library/src/main/java/com/pokegoapi/google/common/geometry/MutableInteger.java
  116. +219 −217 library/src/main/java/com/pokegoapi/google/common/geometry/R1Interval.java
  117. +97 −98 library/src/main/java/com/pokegoapi/google/common/geometry/R2Vector.java
  118. +116 −116 library/src/main/java/com/pokegoapi/google/common/geometry/S1Angle.java
  119. +480 −472 library/src/main/java/com/pokegoapi/google/common/geometry/S1Interval.java
  120. +842 −836 library/src/main/java/com/pokegoapi/google/common/geometry/S2.java
  121. +12 −13 library/src/main/java/com/pokegoapi/google/common/geometry/S2AreaCentroid.java
  122. +427 −417 library/src/main/java/com/pokegoapi/google/common/geometry/S2Cap.java
  123. +412 −413 library/src/main/java/com/pokegoapi/google/common/geometry/S2Cell.java
  124. +927 −910 library/src/main/java/com/pokegoapi/google/common/geometry/S2CellId.java
  125. +598 −585 library/src/main/java/com/pokegoapi/google/common/geometry/S2CellUnion.java
  126. +35 −35 library/src/main/java/com/pokegoapi/google/common/geometry/S2Edge.java
  127. +612 −608 library/src/main/java/com/pokegoapi/google/common/geometry/S2EdgeIndex.java
  128. +794 −793 library/src/main/java/com/pokegoapi/google/common/geometry/S2EdgeUtil.java
  129. +281 −264 library/src/main/java/com/pokegoapi/google/common/geometry/S2LatLng.java
  130. +730 −713 library/src/main/java/com/pokegoapi/google/common/geometry/S2LatLngRect.java
  131. +181 −176 library/src/main/java/com/pokegoapi/google/common/geometry/S2Point.java
  132. +243 −241 library/src/main/java/com/pokegoapi/google/common/geometry/S2Polyline.java
  133. +333 −334 library/src/main/java/com/pokegoapi/google/common/geometry/S2Projections.java
  134. +22 −20 library/src/main/java/com/pokegoapi/google/common/geometry/S2Region.java
  135. +505 −499 library/src/main/java/com/pokegoapi/google/common/geometry/S2RegionCoverer.java
  136. +2 −3 library/src/main/java/com/pokegoapi/google/common/geometry/Utils.java
  137. +0 −59 library/src/main/java/com/pokegoapi/main/AsyncServerRequest.java
  138. +238 −0 library/src/main/java/com/pokegoapi/main/CommonRequests.java
  139. +124 −0 library/src/main/java/com/pokegoapi/main/Heartbeat.java
  140. +313 −169 library/src/main/java/com/pokegoapi/main/RequestHandler.java
  141. +15 −3 library/src/main/java/com/pokegoapi/main/{ApiSettings.java → RequestIdGenerator.java}
  142. +1 −0 library/src/main/java/com/pokegoapi/main/ResultOrException.java
  143. +69 −0 library/src/main/java/com/pokegoapi/main/ServerPlatformRequest.java
  144. +27 −39 library/src/main/java/com/pokegoapi/main/ServerRequest.java
  145. +219 −0 library/src/main/java/com/pokegoapi/main/ServerRequestEnvelope.java
  146. +107 −0 library/src/main/java/com/pokegoapi/main/ServerResponse.java
  147. +48 −1 library/src/main/java/com/pokegoapi/main/Utils.java
  148. +6 −36 library/src/main/java/com/pokegoapi/util/AsyncHelper.java
  149. +99 −0 library/src/main/java/com/pokegoapi/util/CaptchaSolveHelper.java
  150. +40 −0 library/src/main/java/com/pokegoapi/util/ClientInterceptor.java
  151. +0 −8,401 library/src/main/java/com/pokegoapi/util/Crypto.java
  152. +2 −3 library/src/main/java/com/pokegoapi/util/Log.java
  153. +6 −5 library/src/main/java/com/pokegoapi/util/MapUtil.java
  154. +213 −0 library/src/main/java/com/pokegoapi/util/NiaHash.java
  155. +141 −0 library/src/main/java/com/pokegoapi/util/PokeDictionary.java
  156. +54 −17 library/src/main/java/com/pokegoapi/util/PokeNames.java
  157. +115 −99 library/src/main/java/com/pokegoapi/util/Signature.java
  158. +84 −0 library/src/main/java/com/pokegoapi/util/UInt128.java
  159. +42 −0 library/src/main/java/com/pokegoapi/util/hash/Hash.java
  160. +48 −0 library/src/main/java/com/pokegoapi/util/hash/HashProvider.java
  161. +152 −0 library/src/main/java/com/pokegoapi/util/hash/crypto/Crypto.java
  162. +4,110 −0 library/src/main/java/com/pokegoapi/util/hash/crypto/Shuffle.java
  163. +551 −0 library/src/main/java/com/pokegoapi/util/hash/crypto/TwoFish.java
  164. +45 −0 library/src/main/java/com/pokegoapi/util/hash/legacy/LegacyHashProvider.java
  165. +136 −0 library/src/main/java/com/pokegoapi/util/hash/pokehash/PokeHashKey.java
  166. +243 −0 library/src/main/java/com/pokegoapi/util/hash/pokehash/PokeHashProvider.java
  167. +110 −0 library/src/main/java/com/pokegoapi/util/path/Path.java
  168. +35 −0 library/src/main/resources/item_names.properties
  169. +30 −0 library/src/main/resources/item_names_de.properties
  170. +30 −0 library/src/main/resources/item_names_en.properties
  171. +30 −0 library/src/main/resources/item_names_es.properties
  172. +35 −0 library/src/main/resources/item_names_fr.properties
  173. +35 −0 library/src/main/resources/item_names_it.properties
  174. +18 −0 library/src/main/resources/item_names_ja.properties
  175. +18 −0 library/src/main/resources/item_names_ko.properties
  176. +721 −0 library/src/main/resources/pokemon_descriptions.properties
  177. +721 −0 library/src/main/resources/pokemon_descriptions_de.properties
  178. +721 −0 library/src/main/resources/pokemon_descriptions_en.properties
  179. +721 −0 library/src/main/resources/pokemon_descriptions_es.properties
  180. +721 −0 library/src/main/resources/pokemon_descriptions_fr.properties
  181. +721 −0 library/src/main/resources/pokemon_descriptions_it.properties
  182. +721 −0 library/src/main/resources/pokemon_descriptions_ja.properties
  183. +721 −0 library/src/main/resources/pokemon_descriptions_ko.properties
  184. +3 −3 library/src/main/resources/pokemon_names.properties
  185. +8 −8 library/src/main/resources/pokemon_names_de.properties
  186. +3 −3 library/src/main/resources/pokemon_names_en.properties
  187. +3 −3 .../PokeGOAPI-Java/pokemon_names.properties → library/src/main/resources/pokemon_names_es.properties
  188. +122 −122 library/src/main/resources/pokemon_names_fr.properties
  189. +3 −3 ...keGOAPI-Java/pokemon_names_en.properties → library/src/main/resources/pokemon_names_it.properties
  190. +721 −0 library/src/main/resources/pokemon_names_ko.properties
  191. +250 −0 library/src/main/resources/pokemon_names_zh_TW.properties
  192. +1 −1 library/src/resources/protobuf
  193. +0 −102 library/src/resources/signature/Signature.proto
  194. +23 −0 sample/build.gradle
  195. +162 −29 sample/src/main/java/com/pokegoapi/examples/CatchPokemonAtAreaExample.java
  196. +82 −0 sample/src/main/java/com/pokegoapi/examples/CheckEvolutionExample.java
  197. +28 −20 sample/src/main/java/com/pokegoapi/examples/DisplayPokenameExample.java
  198. +44 −0 sample/src/main/java/com/pokegoapi/examples/ExampleConstants.java
  199. +290 −34 sample/src/main/java/com/pokegoapi/examples/FightGymExample.java
  200. +4 −5 sample/src/main/java/com/pokegoapi/examples/GoogleUserInteractionExample.java
  201. +161 −0 sample/src/main/java/com/pokegoapi/examples/SolveCaptchaExample.java
  202. +89 −0 sample/src/main/java/com/pokegoapi/examples/TransferMultiplePokemon.java
  203. +10 −8 sample/src/main/java/com/pokegoapi/examples/TransferOnePidgeyExample.java
  204. +52 −0 sample/src/main/java/com/pokegoapi/examples/TranslatePokenameExample.java
  205. +110 −0 sample/src/main/java/com/pokegoapi/examples/TravelToPokestopExample.java
  206. +100 −0 sample/src/main/java/com/pokegoapi/examples/TutorialHandleExample.java
  207. +12 −15 sample/src/main/java/com/pokegoapi/examples/UseIncenseExample.java
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -158,3 +158,4 @@ fabric.properties
.LSOverride


*.iml
3 changes: 2 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[submodule "library/src/resources/protobuf"]
path = library/src/resources/protobuf
url = https://github.com/AeonLucid/POGOProtos.git
url = https://github.com/Furtif/POGOProtos.git
branch = master
83 changes: 66 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -4,23 +4,18 @@ Pokemon GO Java API

[![Build Status](https://travis-ci.org/Grover-c13/PokeGOAPI-Java.svg?branch=master)](https://travis-ci.org/Grover-c13/PokeGOAPI-Java)
[![](https://jitpack.io/v/Grover-c13/PokeGOAPI-Java.svg)](https://jitpack.io/#Grover-c13/PokeGOAPI-Java)
[![Code Quality: Java](https://img.shields.io/lgtm/grade/java/g/Grover-c13/PokeGOAPI-Java.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Grover-c13/PokeGOAPI-Java/context:java)
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/Grover-c13/PokeGOAPI-Java.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Grover-c13/PokeGOAPI-Java/alerts)

Javadocs : [CLICK ME](https://jitpack.io/com/github/Grover-c13/PokeGOAPI-Java/a2828da60d/javadoc/)

See this guide for adding functionality:
https://docs.google.com/document/d/1BE8O6Z19sQ54T5T7QauXgA11GbL6D9vx9AAMCM5KlRA

See this spreadsheet for RPC endpoints and progress :
https://docs.google.com/spreadsheets/d/1Xv0Gw5PzIRaVou2xrl6r7qySrcmOKjQWLBjJA73YnJM

___
:exclamation: :exclamation: :exclamation:

This API may have issues when the PokemonGO servers are under high load or down, in this case please wait for the official to get back up. You can check the official servers status on [IsPokemonGoDownOrNot.com](http://ispokemongodownornot.com) or [MMOServerStatus.com](http://www.mmoserverstatus.com/pokemon_go).

This API doesnt fake the official client perfectly, niantic may know that you arent using the official app, we encourage you to use a alternate account to play with this API.
This API doesnt fake the official client perfectly, niantic may know that you aren't using the official app, we encourage you to use an alternate account to play with this API.

If you are using this lib to catch pokemon and loot pokestop, take care that you arent teleporting, the servers may issue a softban against your client (its temporary, between 10 and 30 minutes in general).
If you are using this lib to catch pokemon and loot pokestop, take care that you aren't teleporting, the servers may issue a softban against your client (its temporary, between 10 and 30 minutes in general).

:exclamation: :exclamation: :exclamation:
___
@@ -47,9 +42,9 @@ Import JAR with gradle
- Complete `Build from source` below
- Open the project gradle.build file
- Locate ``dependencies {``
- Add ``compile files('PATH_TO/PokeGOAPI-Java/library/build/libs/PokeGOAPI-library-all-0.X.X.jar')``
- Add ``compile fileTree(include: ['PokeGOAPI-library-all-*.jar'], dir: 'PATH_TO/PokeGOAPI-Java/library/build/libs')``
- (PATH_TO is the exact path from root to the API folder, i.e. C:/MyGitProjects)
- (0.X.X refers to the version number provided in the JAR filename, ie. 0.3.0)
- (Make sure to perform a clean build to avoid multiple versions being included)

OR

@@ -87,35 +82,40 @@ OkHttpClient httpClient = new OkHttpClient();
* Afer this, the user must signin on google and get the token that will be show to him.
* This token will need to be put as argument to login.
*/
GoogleUserCredentialProvider provider = new GoogleUserCredentialProvider(http);
GoogleUserCredentialProvider provider = new GoogleUserCredentialProvider(httpClient);

// in this url, you will get a code for the google account that is logged
System.out.println("Please go to " + GoogleUserCredentialProvider.LOGIN_URL);
System.out.println("Enter authorisation code:");
System.out.println("Enter authorization code:");

// Ask the user to enter it in the standart input
// Ask the user to enter it in the standard input
Scanner sc = new Scanner(System.in);
String access = sc.nextLine();

// we should be able to login with this token
provider.login(access);
PokemonGo go = new PokemonGo(provider, httpClient);
PokemonGo go = new PokemonGo(httpClient);
go.login(provider);

/**
* After this, if you do not want to re-authorize the google account every time,
* you will need to store the refresh_token that you can get the first time with provider.getRefreshToken()
* ! The API does not store the refresh token for you !
* log in using the refresh token like this :
* - Needs hasher - example below
*/
PokemonGo go = new PokemonGo(new GoogleUserCredentialProvider(httpClient, refreshToken), httpClient);
PokemonGo go = new PokemonGo(httpClient);
go.login(new GoogleUserCredentialProvider(httpClient, refreshToken), hasher);

/**
* PTC is much simpler, but less secure.
* You will need the username and password for each user log in
* This account does not currently support a refresh_token.
* Example log in :
* - Needs hasher - example below
*/
PokemonGo go = new PokemonGo(new PtcCredentialProvider(httpClient,username,password),httpClient);
PokemonGo go = new PokemonGo(httpClient);
go.login(new PtcCredentialProvider(httpClient, username, password), hasher);

// After this you can access the api from the PokemonGo instance :
go.getPlayerProfile(); // to get the user profile
@@ -140,8 +140,55 @@ try {
// its possible that the parsing fail when servers are in high load for example.
throw new RemoteServerException(e);
}

public static HashProvider getHashProvider(){
String POKEHASH_KEY = "****************";
if(POKEHASH_KEY != null && POKEHASH_KEY.length() > 0){
return new PokeHashProvider(PokeHashKey.from(POKEHASH_KEY), true);
}
throw new IllegalStateException("Cannot start example without hash key");
}

```

## (Async)CatchOptions

Parameters for a capture now use a CatchOptions or AsyncCatchOptions object

This object allows setting all parameters at once, or modifying them on-the-fly

```
import com.pokegoapi.api.settings.AsyncCatchOptions;
```
OR
```
import com.pokegoapi.api.settings.CatchOptions;
```

Usage:

```
CatchOptions options = new CatchOptions(go);
options.maxRazzberries(5);
options.useBestBall(true);
options.noMasterBall(true);
cp.catchPokemon(options);
```

OR

```
AsyncCatchOptions options = new AsyncCatchOptions(go);
options.useRazzberries(true);
options.useBestBall(true);
options.noMasterBall(true);
cp.catchPokemon(options);
```

Each option has a default and the most relevant option will override others with similar functionality (for example, usePokeBall will set the minimum of useBestBall, a maximum by using it alone, or the specific value with noFallback). See the javadocs for more info.

##Android Dev FAQ

- I can't use the sample code! It just throws a login exception!
@@ -171,5 +218,7 @@ You can't. The Google Identity Platform uses the SHA1 fingerprint and package na
- @mjmfighter
- @vmarchaud
- @langerhans
- @fabianterhorst
- @LoungeKatt

You can join us in the slack channel #javaapi on the pkre.slack.com ([you can get invited here](https://shielded-earth-81203.herokuapp.com/))
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
allprojects {
apply plugin: 'java'
group = 'com.pokegoapi'
version = '0.4.0'
version = '0.4.1'
archivesBaseName = 'PokeGOAPI'
sourceCompatibility = 1.7
targetCompatibility = 1.7
Loading