From d3c87dd627c60f6b01058e33cc70d7f93b8a33d5 Mon Sep 17 00:00:00 2001 From: mjmfighter Date: Fri, 22 Jul 2016 21:21:10 -0500 Subject: [PATCH 1/3] null pointer fix --- src/main/java/com/pokegoapi/api/inventory/Inventories.java | 2 +- src/main/java/com/pokegoapi/api/pokemon/Pokemon.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/pokegoapi/api/inventory/Inventories.java b/src/main/java/com/pokegoapi/api/inventory/Inventories.java index b5926fd5..75792b7a 100644 --- a/src/main/java/com/pokegoapi/api/inventory/Inventories.java +++ b/src/main/java/com/pokegoapi/api/inventory/Inventories.java @@ -106,7 +106,7 @@ public void updateInventories(boolean forceUpdate) throws LoginFailedException, InventoryItemDataOuterClass.InventoryItemData itemData = inventoryItem.getInventoryItemData(); if (itemData.getPokemonData().getPokemonId() != PokemonIdOuterClass.PokemonId.MISSINGNO) { - pokebank.addPokemon(new Pokemon(inventoryItem.getInventoryItemData().getPokemonData())); + pokebank.addPokemon(new Pokemon(api, inventoryItem.getInventoryItemData().getPokemonData())); } if (itemData.getItem().getItemId() != ItemId.UNRECOGNIZED && itemData.getItem().getItemId() != ItemId.ITEM_UNKNOWN) { diff --git a/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java b/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java index b9591eef..fcc4f457 100644 --- a/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java +++ b/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java @@ -44,14 +44,14 @@ public class Pokemon { private static final String TAG = Pokemon.class.getSimpleName(); - @Setter - PokemonGo pgo; + private final PokemonGo pgo; private PokemonData proto; // API METHODS // // DELEGATE METHODS BELOW // - public Pokemon(PokemonData proto) { + public Pokemon(PokemonGo api, PokemonData proto) { + this.pgo = api; this.proto = proto; } From 4de377b41ef19d48c91c865e7f2cff553caea5ae Mon Sep 17 00:00:00 2001 From: mjmfighter Date: Fri, 22 Jul 2016 21:29:13 -0500 Subject: [PATCH 2/3] Adjusted some other functions --- src/main/java/com/pokegoapi/api/inventory/PokeBank.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/pokegoapi/api/inventory/PokeBank.java b/src/main/java/com/pokegoapi/api/inventory/PokeBank.java index 4c87c08c..ef83cd02 100644 --- a/src/main/java/com/pokegoapi/api/inventory/PokeBank.java +++ b/src/main/java/com/pokegoapi/api/inventory/PokeBank.java @@ -42,7 +42,6 @@ public PokeBank(PokemonGo instance) { * @param pokemon Pokemon to add to the inventory */ public void addPokemon(final Pokemon pokemon) { - pokemon.setPgo(instance); List alreadyAdded = StreamSupport.stream(pokemons).filter(new Predicate() { @Override public boolean test(Pokemon testPokemon) { From 1929a14f3d2ae12ff4420840dc3bfb71486e902f Mon Sep 17 00:00:00 2001 From: mjmfighter Date: Fri, 22 Jul 2016 21:31:22 -0500 Subject: [PATCH 3/3] Didn't commit all the files... --- .../java/com/pokegoapi/api/map/pokemon/EvolutionResult.java | 5 +++-- src/main/java/com/pokegoapi/api/pokemon/Pokemon.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java b/src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java index a8863267..a27bc2a8 100644 --- a/src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java +++ b/src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java @@ -16,6 +16,7 @@ package com.pokegoapi.api.map.pokemon; import POGOProtos.Networking.Responses.EvolvePokemonResponseOuterClass; +import com.pokegoapi.api.PokemonGo; import com.pokegoapi.api.pokemon.Pokemon; public class EvolutionResult { @@ -23,9 +24,9 @@ public class EvolutionResult { private EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto; private Pokemon pokemon; - public EvolutionResult(EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto) { + public EvolutionResult(PokemonGo api, EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto) { this.proto = proto; - this.pokemon = new Pokemon(proto.getEvolvedPokemonData()); + this.pokemon = new Pokemon(api, proto.getEvolvedPokemonData()); } public EvolvePokemonResponseOuterClass.EvolvePokemonResponse.Result getResult() { diff --git a/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java b/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java index fcc4f457..b9d4c0d4 100644 --- a/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java +++ b/src/main/java/com/pokegoapi/api/pokemon/Pokemon.java @@ -137,7 +137,7 @@ public EvolutionResult evolve() throws LoginFailedException, RemoteServerExcepti return null; } - EvolutionResult result = new EvolutionResult(response); + EvolutionResult result = new EvolutionResult(pgo, response); pgo.getInventories().getPokebank().removePokemon(this);