Skip to content

Commit 4a91a97

Browse files
authored
Merge pull request #173 from Hindi/inventoryForceUpdate
Inventory force update
2 parents f91890a + 995313a commit 4a91a97

File tree

8 files changed

+45
-20
lines changed

8 files changed

+45
-20
lines changed

src/main/java/com/pokegoapi/api/inventory/CandyJar.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ public class CandyJar {
2828
private HashMap<PokemonFamilyId, Integer> candies;
2929

3030
public CandyJar(PokemonGo pgo) {
31+
reset(pgo);
32+
}
33+
34+
public void reset(PokemonGo pgo) {
3135
this.pgo = pgo;
3236
candies = new HashMap<>();
3337
}

src/main/java/com/pokegoapi/api/inventory/Hatchery.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ public class Hatchery {
3939
@Getter
4040
PokemonGo instance;
4141

42-
public Hatchery(PokemonGo instance) {
43-
this.instance = instance;
42+
public Hatchery(PokemonGo pgo) {
43+
reset(pgo);
44+
}
45+
46+
public void reset(PokemonGo pgo) {
47+
this.instance = pgo;
4448
}
4549

4650
public void addEgg(EggPokemon egg) {

src/main/java/com/pokegoapi/api/inventory/Inventories.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ public void updateInventories() throws LoginFailedException, RemoteServerExcepti
9494
public void updateInventories(boolean forceUpdate) throws LoginFailedException, RemoteServerException {
9595
if (forceUpdate) {
9696
lastInventoryUpdate = 0;
97-
itemBag = new ItemBag(api);
98-
pokebank = new PokeBank(api);
99-
candyjar = new CandyJar(api);
100-
pokedex = new Pokedex(api);
97+
itemBag.reset(api);
98+
pokebank.reset(api);
99+
candyjar.reset(api);
100+
pokedex.reset(api);
101101
incubators = new ArrayList<>();
102-
hatchery = new Hatchery(api);
102+
hatchery.reset(api);
103103
}
104104
GetInventoryMessage invReqMsg = GetInventoryMessage.newBuilder()
105105
.setLastTimestampMs(lastInventoryUpdate)
@@ -125,7 +125,7 @@ public void updateInventories(boolean forceUpdate) throws LoginFailedException,
125125

126126
// pokebank
127127
if (itemData.getPokemonData().getPokemonId() != PokemonId.MISSINGNO) {
128-
pokebank.addPokemon(new Pokemon(inventoryItem.getInventoryItemData().getPokemonData()));
128+
pokebank.addPokemon(new Pokemon(api, inventoryItem.getInventoryItemData().getPokemonData()));
129129
}
130130

131131
// items

src/main/java/com/pokegoapi/api/inventory/ItemBag.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ public class ItemBag {
4040
private HashMap<ItemId, Item> items;
4141

4242
public ItemBag(PokemonGo pgo) {
43+
reset(pgo);
44+
}
45+
46+
public void reset(PokemonGo pgo) {
4347
this.pgo = pgo;
4448
items = new HashMap<>();
4549
}

src/main/java/com/pokegoapi/api/inventory/PokeBank.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,19 @@ public class PokeBank {
3333
@Getter
3434
PokemonGo instance;
3535

36-
public PokeBank(PokemonGo instance) {
37-
this.instance = instance;
36+
public PokeBank(PokemonGo pgo) {
37+
reset(pgo);
38+
}
39+
40+
public void reset(PokemonGo pgo) {
41+
this.instance = pgo;
3842
}
3943

4044
/**
4145
* Add a pokemon to the pokebank inventory. Will not add duplicates (pokemon with same id).
4246
* @param pokemon Pokemon to add to the inventory
4347
*/
4448
public void addPokemon(final Pokemon pokemon) {
45-
pokemon.setPgo(instance);
4649
List<Pokemon> alreadyAdded = Stream.of(pokemons).filter(new Predicate<Pokemon>() {
4750
@Override
4851
public boolean test(Pokemon testPokemon) {

src/main/java/com/pokegoapi/api/inventory/Pokedex.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,15 @@
2424

2525
public class Pokedex {
2626

27-
private final PokemonGo api;
27+
private PokemonGo api;
2828
private Map<PokemonId, PokedexEntry> pokedexMap = new HashMap();
2929

30-
public Pokedex(PokemonGo api) {
31-
this.api = api;
30+
public Pokedex(PokemonGo pgo) {
31+
reset(pgo);
32+
}
33+
34+
public void reset(PokemonGo pgo) {
35+
this.api = pgo;
3236
}
3337

3438
/**

src/main/java/com/pokegoapi/api/map/pokemon/EvolutionResult.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,22 @@
1616
package com.pokegoapi.api.map.pokemon;
1717

1818
import POGOProtos.Networking.Responses.EvolvePokemonResponseOuterClass;
19+
import com.pokegoapi.api.PokemonGo;
1920
import com.pokegoapi.api.pokemon.Pokemon;
2021

2122
public class EvolutionResult {
2223

2324
private EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto;
2425
private Pokemon pokemon;
2526

26-
public EvolutionResult(EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto) {
27+
/**
28+
* The evolution result.
29+
* @param api PokemonGo api
30+
* @param proto Pokemon proto
31+
*/
32+
public EvolutionResult(PokemonGo api, EvolvePokemonResponseOuterClass.EvolvePokemonResponse proto) {
2733
this.proto = proto;
28-
this.pokemon = new Pokemon(proto.getEvolvedPokemonData());
34+
this.pokemon = new Pokemon(api, proto.getEvolvedPokemonData());
2935
}
3036

3137
public EvolvePokemonResponseOuterClass.EvolvePokemonResponse.Result getResult() {

src/main/java/com/pokegoapi/api/pokemon/Pokemon.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@
4343
public class Pokemon {
4444

4545
private static final String TAG = Pokemon.class.getSimpleName();
46-
@Setter
47-
PokemonGo pgo;
46+
private final PokemonGo pgo;
4847
private PokemonData proto;
4948
private PokemonMeta meta;
5049

5150
// API METHODS //
5251

5352
// DELEGATE METHODS BELOW //
54-
public Pokemon(PokemonData proto) {
53+
public Pokemon(PokemonGo api, PokemonData proto) {
54+
this.pgo = api;
5555
this.proto = proto;
5656
}
5757

@@ -137,7 +137,7 @@ public EvolutionResult evolve() throws LoginFailedException, RemoteServerExcepti
137137
return null;
138138
}
139139

140-
EvolutionResult result = new EvolutionResult(response);
140+
EvolutionResult result = new EvolutionResult(pgo, response);
141141

142142
pgo.getInventories().getPokebank().removePokemon(this);
143143

0 commit comments

Comments
 (0)