Coder Social home page Coder Social logo

patzly / grocy-android Goto Github PK

View Code? Open in Web Editor NEW
799.0 21.0 79.0 55.65 MB

ERP beyond your fridge, now on your phone – An awesome companion app for grocy

Home Page: https://patrickzedler.com/grocy/

License: GNU General Public License v3.0

Java 99.83% Python 0.09% HTML 0.07%
grocy groceries material-components android app barcode-scanning grocy-android android-app

grocy-android's People

Contributors

alexkarezin avatar alfonso133 avatar ape avatar bfayers avatar bionade24 avatar codacy-badger avatar devbf avatar dominiczedler avatar donk7413 avatar firesoft-de avatar igor-cali avatar izzysoft avatar jrandiny avatar keiishu avatar licaon-kter avatar liju09 avatar nxfifteen avatar patzly avatar tim-otte avatar timhae avatar transifex-integration[bot] avatar turysaz avatar yarons avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grocy-android's Issues

Consume partial amount

When 1 Pack (unit) of a Product is added. 0.5 Pack cannot be consumed. The Web interface though allows to do so. Do i miss something?

Right area too empty

Hi,

Can you improve the display with the info (days, numbers ...) on the empty part on the right?
It allows you to display more products without scrolling. On my tablet I only have 3 products in landscape mode.

App crashes in dark mode

Hi there,

I am currently having trouble to switch to dark mode. As soon as I do, the app crashes and cannot be opened again. I have to delete all data from it through the phone to start over and have to set it up all again. Did check it multiple times but it was always the same.

Let me know what information is needed, so I will be able to send them to help.

Thanks!

Add in-app help

Implement documentation-like help activity with descriptions of workflows, such as

  • purchase after a shopping tour
  • consume when cooking
  • purchase and consume when product has no barcode
  • quickly add items to the shopping list
  • description of the app shortcuts

Also refer to the help tooltips when long-pressing buttons!

Can't open camera: java.lang.NullPointerException

Hi,

I have a FATAL exception:

FATAL EXCEPTION: main
Process: xyz.zedler.patrick.grocy, PID: 23073
java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.zedler.patrick.grocy/xyz.zedler.patrick.grocy.ScanBatchActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2684)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
	at android.app.ActivityThread.-wrap12(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6186)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
	at xyz.zedler.patrick.grocy.ScanBatchActivity.onCreate(:2)
	at android.app.Activity.performCreate(Activity.java:6684)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637)
	... 10 more

Android version: 7.1.2

Autoscan date

Hi,

I don't know if it's easy to automatically scan a date from a photo capture. In any case I add this idea because when we do a lot of shopping, it takes a long time to put all the dates.

Best regards,

Crash after login

Hi,

The app looks amazing, and works great in demo mode!

When I want to enter my own server details however, it force closes on me.
I tried local urls and my reverse proxy URL, with and without /api added to the URL.
The reverse proxy URL is the only one that seems to be accepted, but when loading the next screen the app force closes after 1 second.

My url format is : https://grocy.mydomain.com

I'm using a OnePlus 5T with android version 9.

Any ideas? :)

Consume fails often

When I am trying to consume certain products or open products by using the barcode-button on the front, the app gives me an error even though the product is in stock, the barcode is linked and everything should be fine.

If I manually find the product and consume it, it is no problem.

It is not an consistent error, so it is hard to tell why this happens. I have no connection issues while using the app, so I think it should be good.

Feature Request: Local Network setting

Here's a request I find very handy to have in an app like this which I also found eg. in the official Home Assistant app: Distinguish between local and remote network.
In the HA app I can tell the name of the local WiFi network and once connected the app uses the local address. Whenever I am not connected to that local WiFi network I can enter a second address (usually the one exposed to the internet) and the connection will be established through this address.
This way, whenever being at home it's possible to run all local and no internet connection is required at all. Comes in handy if the WAN connection is failing and you still need to adjust things. Also in the case of using the app at home it does not make much sense to have traffic from the grocy installation send to the internet and get it back into the same network to the app.

It would be awesome to integrate this option (perhaps similar to how the HA app has integrated it?).

Thanks a lot!

Scanning to Purchase should respect the factor for quantity unit purchase and quantity unit stock

For example, I have a product setup with the Quantity Unit Purchase set to Pack and the Quantity Unit Stock set to Pieces with a factor of 4, however when I scan the barcode in the app to purchase it only adds 1 to stock instead of 4.

The consume behavior is as expected, only consuming one at a time (however, perhaps a custom field set to how much default consume should be per product would be useful for products like flour where scanning every time for every gram used would be inconvenient.)

Full offline mode support

Hi,

Thanks for this awesome work.
I want to know if you intend to fully support offline mode ?
Til now, I think you're supporting only offline mode for shopping list.

Kind regards.

Any chance for an option to use the app offline?

I've just found Grocy after it showed up in the IzzyOnDroid F-droid repo, and absolutely fell in love with the design. Unfortunately, I currently don't have the means to run a self-hosted instance. Would it be possible in the future to add an option to just use the app with a local database stored on my device?

Improve bottom app bar scroll behavior

Add a delay before the bar is hidden to prevent "hide-show-flickering".
Specifically:

  • on scroll down, wait about 24dp, then hide it
  • on scroll up, show it immediately to bring back important navigation on screen

Shopping list is unusable after using in offline mode

To test offline mode I opened the shopping list in the app and then I disabled wifi. I got a message that I am in offline mode. I checked some elements in the list. After enabling wifi again and reloading the shopping list It does not load anymore. The rest of the app is usable as before.

App Version is 1.5.0
Grocy Version is 2.7.1

Inconsistent behavior of web interface and app

  • create product with different quantity units for purchase and stock
  • add this product to shopping list

In the web interface we get quantity unit purchase, in the app it results in quantity unit stock, as a user reported with email.
I can't reproduce this behavior with eggs on the demo instance, maybe with another product.

Sign release APK with signature v1 and v2

Could you please sign the APK attached to releases/? I currently get a signature error with apksigner (could be only v2 signature is missing, I'm not sure). Thanks!

Feature Request: In-Store UX

Hello,
I really like your app and have been using it for a few weeks!
For now, I am using it for checking existing inventory.

I would like to also use the shopping list feature in the store when I am shopping.
Right now, I think the existing UI is too small when using the phone in one hand and carrying a bag or shopping cart in the other.
The 'checking off' swipe is not ideal in my opinion.
Besides Grocy I am using the Bring shopping list app which has a very nice UX with big touchable tiles.
Do you have plans to improve the design?

I think an easy first improvement would be changing the ListView somehow to display the names of products in touchable rectangles.
In the future, you could also integrate product images.

Thanks again for your effort in developing this!

Ferature Request: Offline mode with sync for shopping list

Mobile coverage in most supermarkets I know is terrible. Therefore the app is currently unusable for shopping under these circumstances. It would be great if a cached version of the shopping list could be kept in the app to be synced at a later time.

Thank you for this app! I found it on F-Droid and discovered grocy through it. This whole ecosystem looks very promising and you guys seem to be developing at a rapid pace.

After setting up grocy for the best part of the day I was a little disappointed when I took the app shopping today. Luckily I had a hand-written backup of my list :)

Notification Alert for items that will be expiring in a few days

Your app is such a great companion to for the grocy web app! I use grocy on a repurposed server laptop and the mobile app as the front end.
I have an idea for a new feature: It would be nice if the app can show notification alerts when some products will be expiring in a few days.

Thank you for the app!

External barcode scanner

Hi
Thanks a lot for your great application.
Do you consider to implement a solution base on a bluetooth barcode scanner in stead of the camera ?

Regards
Frédéric

Improvie API URL matcher

Hi. I just wanted to try out your app but I cannot enter the URL to grocy.

The URL is http://grocy but the regular expression you used enforces at least one colon. As per RFC 1735 the colon (and the trailing slash) are not required in a valid host.

This seems to be an issue with a library as I regularly see apps with this problem. Would you mind updating the validation?

Thank you in advance! really looking forward to trying out your app!


edit: It seems to happen here:

} else if(!Patterns.WEB_URL.matcher(server).matches()) {

isHttpUrl(url) is so simple and only checks the first few characters, so it should not be the source of the problem. (https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/webkit/URLUtil.java#234)

Move in-app help to new FAQ.md file

This approach used by FairEmail is better because long texts no longer need to be translated (that was unnecessary IMHO).

Thanks to markdown anchors, specific sections can also be opened in a customtabs browser.

String url = "https://grocy.info/";
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));

Implement open food facts API

Only product name could be used, get it from barcode.

Problem: names in the database are very long, the line breaks would be ugly in the app.
Most names contain the brand, exact product name and possible variant identification, way too much information for a clean management in Grocy.

iOS version please!

Hi,

First thank you for this awesome app. I'm currently loving it on my Android device but to be able to replace commercial competitor, I need an iOS app for my wife.

Is it something you're planning and is there a way I can contribute? (I'm kinda nerdy, but not a programmer) I would love to help you either, documentation, translation, beta testing, how-tos or even donation. FYI, my mother-tong is French in case this could help. :)

Thank you.

Opening the app after initial setup crashes

I want to first say that I really like UX design of the app. I am getting this error after second time I run the app.

06-18 08:00:26.988 E/AndroidRuntime(2131): java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Menu xyz.zedler.patrick.grocy.MainActivity.H()' on a null object reference

It works when I clear the storage.

Feature Request: Self-signed certificates

Hi,

Can we use self-signed certificates with Grocy?

I don't have the impression:

java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

App crashes when trying to edit Masterdata/Products

Hi! I'm using version 1.8.0 from F-Droid (Izzys Repo). Server is running version 2.7.1

In the menu I can tap "masterdata" and then "products". All fine. When tapping on any product the app crashes.
Adding new products works fine. The problem only occurs when editing existing ones.

This happens on three different devices with different Android versions.

Not a valid grocy instance

Grocy-android login failed

docker
Add-on: Grocy version: 0.9.0

Grocy-andoid Setting
Server URL
https://domain:port/ ->Not a avalid grocy instance
https://domain:port/a0d7b954_grocy ->Not a avalid grocy instance
https://domain:port/hassio/ingress/a0d7b954_grocy ->Not a avalid grocy instance

Is there anything to add?

[30/Jul/2020:11:03:27 +0900] 302 175.204.18.12, 172.30.32.1(172.30.32.2) GET / HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:30 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:31 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:31 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:34 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:34 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:05 +0900] 302 222.118.116.194, 172.30.32.1(172.30.32.2) GET / HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:09 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:10 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:10 +0900] 204 222.118.116.194, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:12 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:13 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:32 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:36 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:40 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:40 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:41 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:46 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:47 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:49 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:52 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:06:47 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.