st1hy / red-calorie Goto Github PK
View Code? Open in Web Editor NEWAndroid app for keeping your calories in check.
License: MIT License
Android app for keeping your calories in check.
License: MIT License
Currently its impossible to remove picture of ingredient or meal.
Currently permission for write external storage is asked and requested when selecting image to be added to new meal or ingredient.
If user revokes permission and restarts the app images do not load leaving empty spaces.
Solution:
Hi,
I hope this is still being developed on. If so, I'd be happy if you could add the possibilities to add macros (carbs, protein, fat). I'd even donate to have this function.
Thanks!
From experience: when search for new category or ingredient produces no result I may want to add new item. The name of that item is often the same as what I searched for. So it seems reasonable to make that default behavior.
RecyclerView inside NestedScrollView have unlimited height: it loads all the views.
Remove NestedScrollView and replace it with more item view types:
All item should create mosaic that looks the same as it does now in respectful orientations.
Scrolling is also broken: it sometimes freezes instead of doing smooth fling. No such behaviour with just recycler
Target: all affected views
in order: tags, ingredients, overview, add ingredient, add meal
Maybe all red is not the perfect theme for everyone.
Add option in settings for selecting a few different themes.
Fast scrolling causes large cpu consumption spikes and low fps.
Cause: recycler view is not recycling views during scrolling animation.
What was tried:
scroll bar handle shrinks to 0 when there are too many items in the list (no customization (?))
no bubble with text (this could be mitigated by implementing one or using something from existing libraries)
Native seems to be way to go, but not without medium work involved.
Current application structure and design could be improved.
Goal is to make the code modularized better, easier to read and maintain so that new feature could be introduced faster or just to look cooler.
On category screen there should be a possibility to edit what ingredients belong to a tag (most likely the same way multi selection works for ingredient tags but reverse)
Large amount of elements is slow to scroll.
Transitions between activities should be more like material design.
For example: clicking edit meal should expand meal row to a new activity; expand detail into large view.
In title
Current image is using CardView corner radius to create circular effect.
Current solution does not work correctly on >=4.4.
Replace with proper CircularImageView or better alternative.
Implemented in tags: copy&paste when usefull
Add new functionality calorie planner:
After picture is taken no image displays on the screen.
In title
When meal is clicked image jumps way below its original position then animates up on an arc, finally jumps up to the position of the target image view. Closing animation has the same bug in reverse.
Bug affects:
Opening meal detail activity in overview
Opening ingredient detail activity in add meal.
Device affected:
Nexus 5X with Android 6.0
In add ingredient screen add ability to quickly search for this name in browser.
Currently it the only screen when swiping horizontally does nothing. Its kind of unintuitive.
Problem regards Overview and Add meal.
Find if there are more cases like this, create test and apply fix.
Possible to fix by disabling view that was clicked to prevent interaction or by ignoring double. Once child activity finishes re-enable.
Steps to reproduce on 1.5.6:
Application crashes on Android Oreo:
Crash report is not uploading to Play Services, no errors are reported to Logcat (Android 8.0 only)
Under investigation (manual error logging) problem was found in:
09-29 22:52:59.150 2426-2493/? E/AddMealPresenterImp$$La: org.greenrobot.greendao.DaoException: Entity is detached from DAO context at com.github.st1hy.countthemcalories.database.IngredientTemplate.getChildIngredients(IngredientTemplate.java:164) at com.github.st1hy.countthemcalories.activities.overview.meals.model.RxMealsDatabaseModel.performInsertOrUpdate(RxMealsDatabaseModel.java:69) at com.github.st1hy.countthemcalories.activities.overview.meals.model.RxMealsDatabaseModel.lambda$insertOrUpdate$1(RxMealsDatabaseModel.java:58) at com.github.st1hy.countthemcalories.activities.overview.meals.model.RxMealsDatabaseModel$$Lambda$2.call(Unknown Source:0) at org.greenrobot.greendao.AbstractDaoSession.callInTx(AbstractDaoSession.java:166) at com.github.st1hy.countthemcalories.core.rx.AbstractRxDatabaseModel.lambda$callInTx$0(AbstractRxDatabaseModel.java:32) at com.github.st1hy.countthemcalories.core.rx.AbstractRxDatabaseModel$$Lambda$1.call(Unknown Source:0) at rx.internal.operators.OnSubscribeFromCallable.call(OnSubscribeFromCallable.java:48) at rx.internal.operators.OnSubscribeFromCallable.call(OnSubscribeFromCallable.java:33) at rx.Observable.unsafeSubscribe(Observable.java:10346) at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100) at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230) at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764)
Removing ingredient from meal should modify total calories counter.
Affects: add meal presenter
On 4.4 shadows are incorrectly displayed
No points of graph.
Small but visible gap in graph line.
Currently when adding new ingredient to meal or adding tag when there is a pop-up with edit text no keyboard is automatically shown despite focus.
Keyboard should show automatically to save a click.
Current tests does not cover every possible user actions for activity.
Consider recording them with Espresso test recorder
Reach minimum 100 ingredients.
Clicking on ingredient in ingredients activity should show dialog window with options:
Edit ingredient
Add to new meal
Replace current view hierarchy with constraint layout when possible.
Optionally: test performance gain for fun and profit.
Swiping gestures sometimes are not handled.
Add local disk cache for images for faster loading.
Currently on tablets in many screens layout fills entire screen width without any significant padding.
For very least this padding needs to be bigger and match standards for 7' and 10' screens.
Other improvements to sizes and positioning.
After that make new screen captures for phone, 7' and 10' tablets and update store description.
Picasso at version used in the app: 2.5.3-SNAPSHOT incorrectly loads images made with camera in vertical orientation. They are rotated 90 degrees.
Picasso version tested:
2.5.2 - images scaled incorrectly.
2.5.3-SNAPSHOT, 2.6.0-SNAPSHOT - EXIF bug
Solution is to fix bug in picasso: fix has been submitted and await merge.
Until picasso is fixed workaround is needed:
When user enters wrong data and tries to save error message is displayed, after that even when user corrects data save button does not respond.
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.