Search in sources :

Example 1 with TutorialState

use of POGOProtos.Enums.TutorialStateOuterClass.TutorialState in project PokeGOAPI-Java by Grover-c13.

the class PokemonGo method initialize.

private void initialize() throws RequestFailedException {
    if (getRequestHandler() != null) {
        getRequestHandler().exit();
    }
    requestHandler = new RequestHandler(this, client);
    getRequestHandler().sendServerRequests(ServerRequestEnvelope.create());
    playerProfile.updateProfile();
    ServerRequest downloadConfigRequest = new ServerRequest(RequestType.DOWNLOAD_REMOTE_CONFIG_VERSION, CommonRequests.getDownloadRemoteConfigVersionMessageRequest(this));
    getRequestHandler().sendServerRequests(downloadConfigRequest, true, RequestType.GET_BUDDY_WALKED, RequestType.GET_INCENSE_POKEMON);
    getAssetDigest();
    try {
        ByteString configVersionData = downloadConfigRequest.getData();
        if (PokemonMeta.checkVersion(DownloadRemoteConfigVersionResponse.parseFrom(configVersionData))) {
            DownloadItemTemplatesMessage message = CommonRequests.getDownloadItemTemplatesRequest();
            ServerRequest request = new ServerRequest(RequestType.DOWNLOAD_ITEM_TEMPLATES, message);
            PokemonMeta.update(getRequestHandler().sendServerRequests(request, true), true);
        }
    } catch (InvalidProtocolBufferException e) {
        throw new RequestFailedException(e);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    playerProfile.getProfile();
    try {
        LevelUpRewardsMessage rewardsMessage = LevelUpRewardsMessage.newBuilder().setLevel(playerProfile.getLevel()).build();
        ServerRequestEnvelope envelope = ServerRequestEnvelope.createCommons();
        ServerRequest request = envelope.add(RequestType.LEVEL_UP_REWARDS, rewardsMessage);
        getRequestHandler().sendServerRequests(envelope);
        LevelUpRewardsResponse levelUpRewardsResponse = LevelUpRewardsResponse.parseFrom(request.getData());
        if (levelUpRewardsResponse.getResult() == Result.SUCCESS) {
            inventories.getItemBag().addAwardedItems(levelUpRewardsResponse);
        }
    } catch (InvalidProtocolBufferException e) {
        throw new RequestFailedException(e);
    }
    List<LoginListener> loginListeners = getListeners(LoginListener.class);
    for (LoginListener listener : loginListeners) {
        listener.onLogin(this);
    }
    loggingIn = false;
    active = true;
    // From now one we will start to check our accounts is ready to fire requests.
    // Actually, we can receive valid responses even with this first check,
    // that mark the tutorial state into LEGAL_SCREEN.
    // Following, we are going to check if the account binded to this session
    // have an avatar, a nickname, and all the other things that are usually filled
    // on the official client BEFORE sending any requests such as the getMapObject etc.
    ArrayList<TutorialState> tutorialStates = playerProfile.getTutorialState().getTutorialStates();
    if (tutorialStates.isEmpty()) {
        playerProfile.activateAccount();
    }
    if (!tutorialStates.contains(TutorialState.AVATAR_SELECTION)) {
        playerProfile.setupAvatar();
    }
    heartbeat.start();
    if (!tutorialStates.contains(TutorialState.POKEMON_CAPTURE)) {
        playerProfile.encounterTutorialComplete();
    }
    int remainingCodenameClaims = getPlayerProfile().getPlayerData().getRemainingCodenameClaims();
    if (!tutorialStates.contains(TutorialState.NAME_SELECTION) && remainingCodenameClaims > 0) {
        playerProfile.claimCodeName();
    }
    if (!tutorialStates.contains(TutorialState.FIRST_TIME_EXPERIENCE_COMPLETE)) {
        playerProfile.firstTimeExperienceComplete();
    }
}
Also used : LevelUpRewardsMessage(POGOProtos.Networking.Requests.Messages.LevelUpRewardsMessageOuterClass.LevelUpRewardsMessage) ByteString(com.google.protobuf.ByteString) InvalidProtocolBufferException(com.google.protobuf.InvalidProtocolBufferException) IOException(java.io.IOException) Point(com.pokegoapi.api.map.Point) ServerRequestEnvelope(com.pokegoapi.main.ServerRequestEnvelope) LoginListener(com.pokegoapi.api.listener.LoginListener) RequestHandler(com.pokegoapi.main.RequestHandler) RequestFailedException(com.pokegoapi.exceptions.request.RequestFailedException) DownloadItemTemplatesMessage(POGOProtos.Networking.Requests.Messages.DownloadItemTemplatesMessageOuterClass.DownloadItemTemplatesMessage) ServerRequest(com.pokegoapi.main.ServerRequest) LevelUpRewardsResponse(POGOProtos.Networking.Responses.LevelUpRewardsResponseOuterClass.LevelUpRewardsResponse) TutorialState(POGOProtos.Enums.TutorialStateOuterClass.TutorialState)

Aggregations

TutorialState (POGOProtos.Enums.TutorialStateOuterClass.TutorialState)1 DownloadItemTemplatesMessage (POGOProtos.Networking.Requests.Messages.DownloadItemTemplatesMessageOuterClass.DownloadItemTemplatesMessage)1 LevelUpRewardsMessage (POGOProtos.Networking.Requests.Messages.LevelUpRewardsMessageOuterClass.LevelUpRewardsMessage)1 LevelUpRewardsResponse (POGOProtos.Networking.Responses.LevelUpRewardsResponseOuterClass.LevelUpRewardsResponse)1 ByteString (com.google.protobuf.ByteString)1 InvalidProtocolBufferException (com.google.protobuf.InvalidProtocolBufferException)1 LoginListener (com.pokegoapi.api.listener.LoginListener)1 Point (com.pokegoapi.api.map.Point)1 RequestFailedException (com.pokegoapi.exceptions.request.RequestFailedException)1 RequestHandler (com.pokegoapi.main.RequestHandler)1 ServerRequest (com.pokegoapi.main.ServerRequest)1 ServerRequestEnvelope (com.pokegoapi.main.ServerRequestEnvelope)1 IOException (java.io.IOException)1