farkam135 / goiv Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://www.reddit.com/r/goiv
License: Other
Home Page: https://www.reddit.com/r/goiv
License: Other
I suggest adding the cp ranges at trainerlevel cap, at max level cap and additionally the corresponding ranges after possible evolutions to the results window. Additionally I suggest calculating the powerup cost up to trainerlevel cap and max cap.
Assuming the set trainerlevel is 25 and the identified pokemon is level 21 it would look something like this:
IVs of your lvl 21 [...] can be:
[...]
[...]
[...]
Min: [%] Avg: [%] Max: [%]
CP at lvl 26.5: [...] - [...]
Cost: [...] stardust [...] candy
CP at lvl 40.0: [...] - [...]
Cost: [...] stardust [...] candy
Can be evolved into [...].
CP at lvl 21.0: [...] - [...]
CP at lvl 26.5: [...] - [...]
CP at lvl 40.0: [...] - [...]
Can be further evolved into [...].
CP at lvl 21.0: [...] - [...]
CP at lvl 26.5: [...] - [...]
CP at lvl 40.0: [...] - [...]
Instead of having the screen analysed all the time to determine if the user is looking at a pokemon, let the user manually toggle the IV button overlay.
Why? Saves battery by not having the screen continuously analysed, and might help users who cant get the auto detection feature to work.
An idea I've discussed a few times on reddit, is to narrow down the possibilities of what pokemon the user is looking at by watching candy names.
By doing this, you can narrow down the pokemon-picker to a single evolution line.
Example: A user has renamed a weedle to "snores", and the app erroneously recognizes it as a snorlax. If the app instead read that the pokemon wants to eat "weedle candy", then the options of possible pokemon are instead weedle, kakuna and beedrill. The app could then instead pick whichever of those 3 alternatives are closest to "snores", and when the user then corrects the input with the dropdown menu, the menu should only contain the 3 possible options, instead of all 151 in alphabetical order.
What would need to be done? My suggestions:
The application would need to ocr the candy name. If we in the Pokemon object allow another field which stores the "next evolution", some logic could solve the rest.
For example
pokemon.add(new Pokemon("pokemon name", "evolution name", 110, 76, 50));
So an algorithm that figures out an evolution chain could simply check the candy name, for example bulbasaur, and then see if that pokemon has a non-null evolution name.
it looks like bulbasaurs base stats are actually the ones for abra?
Staryu seem to bug out the app, the toast with the string "scanning" is shown, but then nothing happens afterwards and another pokemon cannot be scanned untill you have restarted GoIV, i only had 5 staryus to check with but with 3 attempts on each i'm 15/15 with this loop.
Which doesnt work, because Pokemon go isnt released in russia, all names are in english. So the OCR doesnt work - the app should still run the english language or at least ocr english pokemon names until the app is released in russia.
https://www.reddit.com/r/GoIV/comments/4y7bgi/200_released/d6lqei7?context=3
Hi! It's really simple to make auto update for your application with github. If you want, you can assign this issue to me and I will make appropriate pull request.
traineddata should be outsource to the apk file is smaller
Based on code review, this code would make the app just delete any screenshot taken while it's running. That's one good way to avoid bug reports I guess 😜
Also, people might forget that GoIV is running and would be pissed if the screenshot of the Pokemon Go or any other app for that matter gets deleted.
I think the file should be deleted only if check IV is pressed. If they hit cancel, it should leave it as is.
A refine option for narrowing down the possible iv combinations is needed to be independent from any web calculators.
I don't know what the best idea would be to implement this. As of now I simply thought of local storage with past calculations and adding a third button 'refine' under 'cancel' and 'check iv'. When clicking the 'refine' button a dropdown list of past calculations for that specific species appears and the apropriate one can be chosen crosschecking the results after. This method would lay the foundation of another possible feature in the future - an iv database of your pokemon within the app. May be a stupid solution :-D
With button in notification we would be able to pause the scan or even stop the scan of our screen directly from the notification without having to switch back to the app. Maybe this is useless if the app evolves to something only scanning on demand and not always like it is for now.
I'm trying to rewrite the code to make it easier to understand but I'm having problems understanding it myself.
https://github.com/farkam135/GoIV/blob/master/app/src/main/java/com/kamron/pogoiv/pokefly.java#L226
(45+ 180) * Math.PI / 180.0 = 3.92699081699
But the real value is 0,785398, so Math.toRadians(45) * Math.PI
would be a nicer code, but then again the variable is called angleInRadians
Also, there is a lot of duplicated code.
PS: can someone help me understand it ?
Instead of making the user take a screenshot when he/she is on the pokemon screen, maybe we could just add a button on the screen or in the notification that takes the screenshot on press ? Then save the screenshot in a known location, and scan it.
The functions for this are already present, so it should be a minimal change.
It seems like it would be more useful to show the CP of the evolved version at it's current level, instead of (or in addition to) the CP at it's max level.
I think the question 'if I evolved this, how strong would it be?' would be a much more common than 'if I evolved this and then upgraded it to my max level, how strong it would be?'
Especially since you can evolve it, and then check it again to check it's max CP.
This code in here is repeated for every scan attempt. Floating point operations are expensive in terms of power. All the calculation in the entire loop can be computed one time at app start or when the level changes and cached for subsequent calls.
You just need an x[2 * estimatedPokemonLevel] array and a y[2 * estimatedPokemonLevel] array. And then the loop that tries to determine the arc position just needs to loop over it.
I'd work on this, but looks like a lot of people are working on this and things are moving fast. So, if anyone else wants to fix this, go for it. Otherwise, I'll get to it eventually.
Copy to clipboard would be great. For example, pressing and holding the possible combinations list creates some kind of compact string (len <= 12) of the stats and copies it to the clipboard.
A configurable format for the string or multiple community provided presets would be fantastic. Something like "[truncated_pokename] [min_percent]-[max_percent]%", "[truncated_pokename] [avg_percent]", "[avg_percent] [min_A] [min_D] [min_S]" and so on.
Cheers!
Distribution through F-Droid would be nice (easy, safe, etc).
I know Java very well, but my experience with Android is much lower....it would be helpful if there were some sort of guide for getting the environment setup.
For instance, do you use Eclipse or Android Studio? Which tools/add-ons (if any) are required. I would love to start contributing to the project where I can, but I need to have some sort of idea on how to get a build environment setup.
Thanks in advance!
Encounter this error when trying to open APK
There is a Problem Parsing the Package
When tapping to edit the cp or hp, the keypad pops over the info layout, and the info layout doesn't move, making it seem weird.
Maybe it could use a smaller keypad or/and move the infolayout up.
I am trying to do it, but I'm no expert and I can't find the keypad call or anything
You can press the checkbox to toggle battery saver / screen capture when GoIV is already started, but it doesnt actually change how the app behaves.
I think the notification should tell the user if its running screenshot / live mode, and the checkbox to toggle the modes should either be grayed out, or change the mode when pressed.
Hi,
Since GoIV generally detects my Pokemon correctly it might be nice to have an option available that skips the check whether the stats are correct. I'd rather have it immediately pop up with the possible IV's and just show the CP/HP/Pokemon it detected with a button to go back to refine if it's incorrect, rather than first having to tap the Check IV button each time.
Some of the errors when reading the combat power might be caused because the P is read like a number, oftenly a 3
Could you support Android version 4.4. I would like to use this great app.
Hi,
Great app! This is going to save me so much time :).
At first I thought the calculator didn't properly get my stats, but it turns out it doesn't detect the male symbol of Nidoran♂.
Here you can see that it incorrectly auto-selects Nidoran♀ instead of Nidoran♂.
My device is a Galaxy S7.
On a side note, is there somewhere information on how GoIV calculates the IV and stats? I was wondering how it determines the min/max for each IV Att/Def/Sta and how it determines the possible combinations?
Not aligning automatically:
https://s3.postimg.org/4qbqy8sqr/Screenshot_20160818_162652.png
https://s4.postimg.org/lgvv86sp9/Screenshot_20160818_162705.png
No manual line up:
https://s3.postimg.org/nqtzurn43/image.png
https://s3.postimg.org/72bydz4mr/image.png
1080*1920
Android 6.0.1
Screen brightness adjusting is disabled
Battery saver is off
Player level is correct
Tried to make full factory reset with clean install - no results
On earlier GoIV builds (don't remember, which, maybe 1.2.1) arc worked correctly (that version was with old align icon). But in one day it stopped working.
I noticed that low CP pokemons autodetect good. If arc is above half, detecting fails, almost always.
I think it would be very nice if once we click on the start button, pokemon go is directly started after that, i mean bring back in front.
Have you ever been near a gym and wanted to know which pokémon you should take to your fight? The gym-helper will show you useful information about your opponent's pokémon so you can decide more easily.
If you know other useful resources, please let me know.
I am currently working on putting all strings into the Donestrings.xml
.
What do you think about showing a list of pokémon that are good against the pokémon in the gym on the gym screen? I'm going to try to implement it once I have extracted all the string.
Can anyone please confirm whether this app is working on either Android 6.0.1 or a device with a 720x1080 screen? I get no IV button at all on my Samsung Galaxy Note 2 runnning CyanogenMod 13.0 (Android 6.0.1). I tried it with at least 20 different pokemon. Screenshot mode doesn't work either. The GoIV notification never changes after starting either. I know some coding, so if there's anything else I can do to diagnose this or if anyone can point me to the exact file/function where the OCR might be failing, it will be much appreciated.
Translate app visual interface when stable
If you press the IV button when you moved/scrolled just even a bit the pokemon screen you want to check out, it kinda hangs, and disappears for following use. If you go back to the app and press stop, it crashes.
I notice that most question threads submitted to /r/goiv are repeats of previously posted questions, would there be any idea in creating a FAQ page in the app, or link to the subreddit faq? https://www.reddit.com/r/GoIV/wiki/index
If you were to use an AutoCompleteTextView instead of a spinner it might be easier to find pokemon names. I don't know how this will work pulling up a keyboard while on a screen overlay though.
I always get this message when I try to calculate IV's. Stepping through the code, it appears that in the getIVText() method, the if (hp == pokemonHP) is never true. The hp is always > than pokemonHP. Is there something I'm doing incorrectly or are the calculation off? I've probably tried about 100 pokemon and I've never got anything other than no possibilities.
Tried to manually adjust the arc but it's not aligning correctly
https://s4.postimg.io/ouxhmiqu5/Screenshot_2016_08_19_23_43_06.png
https://s4.postimg.io/w9mtewcpp/Screenshot_2016_08_19_23_43_00.png
1440 x 2560
Android 6.0
Battery saver is off
Player level is correct (Level 12)
you might want to remove the excluded files from .gitignore
You can use these commands:
git rm -r --cached .
git add .
git commit -am "Remove ignored files"
How does one compile from source? Or is that download link updated with each commit?
Right now, it shows what the CP would ble if you powered your current mon all the way to the maximum.
I would like to see what the pokemon would likely be evolved without powering up, not after. Perhaps this could be one of the options?
Hi! That's really cool that you moved to github!
I want to note that on github you can add your apk to releases
section (https://github.com/farkam135/GoIV/releases) - it's much better then pointing to some file on google drive.
So I tried out the 2.1 and the app kept crashing or disappearing on my OnePlus one. on 2.0 the IV button kept disappearing (but never crashed). I never had these problems with version 1.30
I like to just add the average of the stats after the name, so it would be nice to be able to configure this to happen instead of the range being copied.
Some other potential formats that people may want to copy are:
The three stats concatinated with colons between them
ex. 01:15:09
The three stats just concatinated but defaulting to two numbers
ex. 011509
There should be an opt-out opportunity for users regarding crashlytics. Like a checkbox 'use anonymous data for crash analysis' on the start screen with a link to crashlytic's privacy policy below.
How does this timer task not end up garbage collected when we return from the onActivityResult() function? All those variables seem like local variables.
The app clearly works. So, I'm very confused.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.