Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[In progress]PokeGOAPI-Java version 2.0 Providers Framework rewrite #875

Open
4 of 10 tasks
s7092910 opened this issue Feb 20, 2017 · 7 comments
Open
4 of 10 tasks

Comments

@s7092910
Copy link
Collaborator

s7092910 commented Feb 20, 2017

Description:
This is a tracker of what needs to be done and what is done and what is being worked on in Pull Request #873. Also this can be used to suggest changes to the framework while it is being worked on.

Service Provider Interfaces
This includes the delegate and the spi for the delegate along with any other interfaces/classes needed for the spi.

  • CredentialProvider
  • Gym
  • Pokestop
  • CatchablePokemon
  • Map
  • Inventory
  • Settings
  • PokemonGoClient
  • Signature
  • PlayerProfile

Implementation
The implementation of the API and the SPIs

@clangdev
Copy link

clangdev commented Feb 20, 2017

Couldn't you just create another branch than trying to mess up API v1?
I guess your idea won't be finished in a day or two?

@RebliNk17
Copy link
Contributor

RebliNk17 commented Feb 20, 2017

He didn't do anything but sending a PR so we will start working on a better API.
and even after we will finish re-building the new API, the old API will still work (not supported probably)
Don't complain, He is doing you a favor... so is Gegy

@clangdev
Copy link

clangdev commented Feb 20, 2017

Well ok. Looks like there's a lot of business going on in the background. I did not know that there is something like a management behind this API.
Just a bit concerned about this API v2 thing, because v1 is not that bad actually and currently running just fine.
Hope that API v2 won't be too different and integration will get smoothly into running projects/bots using api v1.

@RebliNk17
Copy link
Contributor

Then, yes, there is kind of a management behind this API.
grover was the one who started it (I think) and he left it for @gegy1000 to continue because he lost interest or something like that.
you might not know that, but the current API has lots of problems and you need to write loads of code to implement things.

All we need to do now is to start working to built it by what he committed...

@clangdev
Copy link

Looks almost like an invite to contribute. To be honest I am happy to be able to keep my pieces together. I have to check what I am able to do.
Did not want to sound disrespectful.
You all do great work and because of you I am able to train my skills with a bit of fun-coding.

@s7092910
Copy link
Collaborator Author

@clangdev As @RebliNk17 said, there are a lot of issues with the API right now, specially when it comes to maintainability. And the fact that a lot of it is dependent on all the other parts of the code. So this means that say if you are only a scanner, you would have inventory for the account loaded up. That took memory.

So the goal of this is to increase maintainability by strictly saying this is how each part will be able to communicate, along with allowing quicker changes due to less dependencies all over the place. Also it gives more flexibility. For instance, it would be easier for a library user if they are using Android, to just implement their own PokemonGoClient so that it handles requests and responses the way they want it to instead of being forced to handle the requests and responses as defined by the API.

I know when I was creating my own scanner on Android, I had to fork the API and change quite a few things to get the API to behave the way I needed it to behave on Android without adding additional bloat that wasn't needed due to how the library was set up. Specially with the async requests (I just ended up removing them completely).

Overall, we shouldn't be changing how the underlying system works, but more how users would interact with the underlying system and how the underlying system interacts with other parts of the system. So we are kinda of changing the behavior of library, while not touching the function.

@vamidi
Copy link

vamidi commented Jun 14, 2017

@s7092910 How did you end up getting it to work on Android?
I have an error "Contents of buffer are null" which is probably because of the many requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants