Search in sources :

Example 1 with LurePokemonEvent

use of com.omkarmoghe.pokemap.models.events.LurePokemonEvent in project Pokemap by omkarmoghe.

the class NianticManager method getLuredPokemon.

public void getLuredPokemon(final double lat, final double longitude, final double alt) {
    final int myCurrentBatch = this.currentBatchCall;
    mHandler.post(new Runnable() {

        @Override
        public void run() {
            try {
                if (mPokemonGo != null && NianticManager.this.currentBatchCall == myCurrentBatch) {
                    Thread.sleep(133);
                    mPokemonGo.setLocation(lat, longitude, alt);
                    Thread.sleep(133);
                    List<CatchablePokemon> pokemon = new ArrayList<>();
                    for (Pokestop pokestop : mPokemonGo.getMap().getMapObjects().getPokestops()) {
                        if (!pokestop.getFortData().getLureInfo().equals(FortLureInfoOuterClass.FortLureInfo.getDefaultInstance())) {
                            Log.d(TAG, "run: hasFortInfo = " + pokestop.getFortData().getLureInfo());
                            pokemon.add(new CatchablePokemon(mPokemonGo, pokestop.getFortData()));
                        }
                    }
                    if (NianticManager.this.currentBatchCall == myCurrentBatch)
                        EventBus.getDefault().post(new LurePokemonEvent(pokemon, lat, longitude));
                }
            } catch (LoginFailedException e) {
                e.printStackTrace();
                Log.e(TAG, "Failed to fetch map information via getPokeStops(). Login credentials wrong or user banned. Raised: " + e.getMessage());
                EventBus.getDefault().post(new LoginEventResult(false, null, null));
            } catch (RemoteServerException e) {
                e.printStackTrace();
                Log.e(TAG, "Failed to fetch map information via getPokeStops(). Remote server unreachable. Raised: " + e.getMessage());
                EventBus.getDefault().post(new ServerUnreachableEvent(e));
            } catch (InterruptedException | RuntimeException e) {
                e.printStackTrace();
                Log.e(TAG, "Failed to fetch map information via getPokeStops(). PoGoAPI crashed. Raised: " + e.getMessage());
                EventBus.getDefault().post(new InternalExceptionEvent(e));
            }
        }
    });
}
Also used : LoginEventResult(com.omkarmoghe.pokemap.models.events.LoginEventResult) ServerUnreachableEvent(com.omkarmoghe.pokemap.models.events.ServerUnreachableEvent) CatchablePokemon(com.pokegoapi.api.map.pokemon.CatchablePokemon) LoginFailedException(com.pokegoapi.exceptions.LoginFailedException) LurePokemonEvent(com.omkarmoghe.pokemap.models.events.LurePokemonEvent) Pokestop(com.pokegoapi.api.map.fort.Pokestop) InternalExceptionEvent(com.omkarmoghe.pokemap.models.events.InternalExceptionEvent) List(java.util.List) ArrayList(java.util.ArrayList) RemoteServerException(com.pokegoapi.exceptions.RemoteServerException)

Aggregations

InternalExceptionEvent (com.omkarmoghe.pokemap.models.events.InternalExceptionEvent)1 LoginEventResult (com.omkarmoghe.pokemap.models.events.LoginEventResult)1 LurePokemonEvent (com.omkarmoghe.pokemap.models.events.LurePokemonEvent)1 ServerUnreachableEvent (com.omkarmoghe.pokemap.models.events.ServerUnreachableEvent)1 Pokestop (com.pokegoapi.api.map.fort.Pokestop)1 CatchablePokemon (com.pokegoapi.api.map.pokemon.CatchablePokemon)1 LoginFailedException (com.pokegoapi.exceptions.LoginFailedException)1 RemoteServerException (com.pokegoapi.exceptions.RemoteServerException)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1