- achievements feature
- send/share ip address feature
- some usage analytics
- whois tooltip on history page - no need
- separate core component from app - done
- ios version - done
- straw-ios - done
- do some tests of release apk on the device - done
- release! - done
- set up local jenkins to build & store the release builds - done
- take app screenshots - done
- current ip address
- history page
- optimize apk size
- minify js and css - done
- delete disused google plus icons. Where are these icons come from? annoying - done (deleted admob)
- random geoip endpoint - done
- other materials - done
- cool ui for failed to get situation - done
- build signed apk - done
- retry policy and give-up policy for ip address retrieving - done
- limit number of retry count (about 10?)
- limit user waiting time (about 20 seconds?)
- don't toast start loading message when auto-retrying - done
- don't show loading indicator - done
- get new admob code for this app - done
- implement new admob code - done
- implement bootstrap modal instead of window.confirm function - done
- window.confirm is unusable
- implement open market function - done
- Uri plugin (to open market:// uri directly) - done
- review reminding specification - done
- static boolean shouldRemindReview(UserActivity)
- review reminder - done
- remind to review app after 4 times successful use (ip address successfully fetched action) of app
- if user doesn't review, remind again after every 4 times successful use of app
- if user reviewed, then stop reminding
- remind to review app after 4 times successful use (ip address successfully fetched action) of app
- review reminder domain model - done
- UserActivity model - done
- number gotIpCount
- boolean HasReviewed
- UserActivityRepository - done
- UserActivity model - done
- review reminder domain impl - done
- switch to heroku ip reflector - done
- show country icon on current ip page and history page - done
- heroku ip address reflector - done
- add flag sprite - done
- don't record the same ip address consecutively in the same day - done
- don't auto-update if the latest record is too latest (probably 15 min?) - done
- paypal upgrade - pending
- take certificate picture
- get resident registry card
- straw debug plugin - pending
- dump available plugins
- show straw version etc
- backbutton plugin (or base function) - done
- straw-android switch to gradle - done
- records list impl - done
- record a record impl - done
- ipRepo testing - done
- link to history page - done
- reload button - done
- history page - done
- records.html
- internationalization - done! yeah!
- ip get quality - done
- http auto-retry feature - easily implemented in javascript
- debug silent failure cases - the cause was the ridiculous behaviour of default proxy settings for UrlConnection, that was too slow and inaccurate.
- straw-android.js - done
- fix handling of the message from native (remove the meaning less JSON.stringify)
- browser plugin - done
- straw.browser.open(url) => browser opens with url
- local plugin - done
- straw.local.getLanguage() => 'en', 'ja'
- i18n - done
- functions
- tag
- .t-attr class, .t-text class
- i18n.json
- functions
- *middlemanize - done - it's good!
- http timeout feature implementation & test - done
- shared preference plugin (store last 300 ip records) - done
- bogus error on getName method checking - done
- fill some coverage missings - done
- test http plugin - done
- http plugin
- app name (My IP Address Finder(en), IPアドレス確認君(ja))
- fix application concept & design - done
- separate application code from index.html - done
- use static site generator and export to assets (do not modify directly on ./assets) - done - it's really good idea!
- test of Background and RunOnUiThread annotations - done