chaosdorf / meteroid Goto Github PK
View Code? Open in Web Editor NEWMeteroid is a small Android application to manage your account in https://github.com/chaosdorf/mete
Meteroid is a small Android application to manage your account in https://github.com/chaosdorf/mete
Since 2fa4f37, we show a shortcut for the last drink.
Android allows us to show more (about five, I think), but we would then need to implement an algorithm which curates this list.
Es wäre super, wenn man nicht nur über das 'zurück'-Icon in der App, sondern auch mit den Hardware-/Soft-Buttons auf die Übersicht zurück kommen könnte.
atm wird beim Betätigen des Hardware-/Soft-Buttons die App beendet.
This is the error log:
:meteroid:preBuild UP-TO-DATE
:meteroid:preDebugBuild UP-TO-DATE
:meteroid:prepareDebugDependencies
:meteroid:compileDebugAidl
:meteroid:compileDebugRenderscript
:meteroid:generateDebugBuildConfig
:meteroid:mergeDebugAssets
:meteroid:mergeDebugResources
/home/niklas/dev/meteroid/meteroid/src/main/res/drawable-hdpi/button_reload.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/niklas/dev/meteroid/meteroid/src/main/res/drawable-xhdpi/button_reload.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/niklas/dev/meteroid/meteroid/src/main/res/drawable-mdpi/button_reload.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/niklas/dev/meteroid/meteroid/src/main/res/drawable/button_reload.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
:meteroid:processDebugManifest
:meteroid:processDebugResources
:meteroid:generateDebugSources
:meteroid:compileDebug
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:27: error: package org.apache.http.message does not exist
import org.apache.http.message.BasicNameValuePair;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:93: error: cannot find symbol
public static List<BasicNameValuePair> userToPostParams(final User user)
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:29: error: package org.apache.http does not exist
import org.apache.http.HttpEntity;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:30: error: package org.apache.http does not exist
import org.apache.http.HttpResponse;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:31: error: package org.apache.http.client does not exist
import org.apache.http.client.HttpClient;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:32: error: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpGet;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:33: error: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.DefaultHttpClient;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:34: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.BasicHttpContext;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:35: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.HTTP;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:36: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.HttpContext;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:37: error: package org.apache.http.util does not exist
import org.apache.http.util.EntityUtils;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:29: error: package org.apache.http does not exist
import org.apache.http.HttpEntity;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:30: error: package org.apache.http does not exist
import org.apache.http.HttpResponse;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:31: error: package org.apache.http.client does not exist
import org.apache.http.client.HttpClient;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:32: error: package org.apache.http.client.entity does not exist
import org.apache.http.client.entity.UrlEncodedFormEntity;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:33: error: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpPost;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:34: error: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.DefaultHttpClient;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:35: error: package org.apache.http.message does not exist
import org.apache.http.message.BasicNameValuePair;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:36: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.BasicHttpContext;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:37: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.HTTP;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:38: error: package org.apache.http.protocol does not exist
import org.apache.http.protocol.HttpContext;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:39: error: package org.apache.http.util does not exist
import org.apache.http.util.EntityUtils;
^
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:49: error: cannot find symbol
private final List<BasicNameValuePair> postData;
^
symbol: class BasicNameValuePair
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:51: error: cannot find symbol
public LongRunningIOPost(final LongRunningIOCallback callback, final LongRunningIOTask id, final String url, final List<BasicNameValuePair> postData)
^
symbol: class BasicNameValuePair
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:95: error: cannot find symbol
final List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:95: error: cannot find symbol
final List<BasicNameValuePair> pairs = new ArrayList<BasicNameValuePair>();
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:96: error: cannot find symbol
pairs.add(new BasicNameValuePair("user[name]", user.getName()));
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:97: error: cannot find symbol
pairs.add(new BasicNameValuePair("user[email]", user.getEmail()));
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/controller/UserController.java:98: error: cannot find symbol
pairs.add(new BasicNameValuePair("user[balance]", String.valueOf(user.getBalance())));
^
symbol: class BasicNameValuePair
location: class UserController
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:55: error: cannot find symbol
HttpClient httpClient = new DefaultHttpClient();
^
symbol: class HttpClient
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:55: error: cannot find symbol
HttpClient httpClient = new DefaultHttpClient();
^
symbol: class DefaultHttpClient
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:56: error: cannot find symbol
HttpContext localContext = new BasicHttpContext();
^
symbol: class HttpContext
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:56: error: cannot find symbol
HttpContext localContext = new BasicHttpContext();
^
symbol: class BasicHttpContext
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:57: error: cannot find symbol
HttpGet httpGet = new HttpGet(url);
^
symbol: class HttpGet
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:57: error: cannot find symbol
HttpGet httpGet = new HttpGet(url);
^
symbol: class HttpGet
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:60: error: cannot find symbol
HttpResponse response = httpClient.execute(httpGet, localContext);
^
symbol: class HttpResponse
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:67: error: cannot find symbol
HttpEntity entity = response.getEntity();
^
symbol: class HttpEntity
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:68: error: cannot find symbol
return EntityUtils.toString(entity, HTTP.UTF_8);
^
symbol: variable HTTP
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOGet.java:68: error: cannot find symbol
return EntityUtils.toString(entity, HTTP.UTF_8);
^
symbol: variable EntityUtils
location: class LongRunningIOGet
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:62: error: cannot find symbol
HttpClient httpClient = new DefaultHttpClient();
^
symbol: class HttpClient
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:62: error: cannot find symbol
HttpClient httpClient = new DefaultHttpClient();
^
symbol: class DefaultHttpClient
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:63: error: cannot find symbol
HttpContext localContext = new BasicHttpContext();
^
symbol: class HttpContext
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:63: error: cannot find symbol
HttpContext localContext = new BasicHttpContext();
^
symbol: class BasicHttpContext
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:64: error: cannot find symbol
HttpPost httpPost = new HttpPost(url);
^
symbol: class HttpPost
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:64: error: cannot find symbol
HttpPost httpPost = new HttpPost(url);
^
symbol: class HttpPost
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:67: error: cannot find symbol
httpPost.setEntity(new UrlEncodedFormEntity(postData));
^
symbol: class UrlEncodedFormEntity
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:76: error: cannot find symbol
HttpResponse response = httpClient.execute(httpPost, localContext);
^
symbol: class HttpResponse
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:83: error: cannot find symbol
HttpEntity entity = response.getEntity();
^
symbol: class HttpEntity
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:84: error: cannot find symbol
return EntityUtils.toString(entity, HTTP.UTF_8);
^
symbol: variable HTTP
location: class LongRunningIOPost
/home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/longrunningio/LongRunningIOPost.java:84: error: cannot find symbol
return EntityUtils.toString(entity, HTTP.UTF_8);
^
symbol: variable EntityUtils
location: class LongRunningIOPost
Note: /home/niklas/dev/meteroid/meteroid/src/main/java/de/chaosdorf/meteroid/PickUsername.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
50 errors
:meteroid:compileDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':meteroid:compileDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 9.155 secs
This means F-Droid is no longer able to build the app. Would it be possible to remove the dependency?
Wanted to create user so I can start depositing, I expected after creating user it will be saved then I will start.
After clicking the save button, App crashes.
It would be nice if a negative balance could be in bright red. And blink.
Android's fast scrolling seems to be not very intuitive to people not familiar with Android UX concepts.
Also, it doesn't quite provide what we want:
Displaying only users with names whose first character matches the one given.
(Instead it jumps to the beginning of the category.)
We should probably copy Mete's behavior here.
Bei einer vollen Liste hält sich der visuelle Gewinn durch den Farbverlauf im Hintergrund in Grenzen.
Bei AMOLED-Screens (zB bei Galaxys) ist Schwarz=aus -- ganz schwarze Flächen sparen also Strom.
When you open BuyDrinks and scroll down fast, the images might be placed wrongly.
When setting the URL of the server to connect to, we should check whether it is actually reachable and speaks a known version of the Space-Market API before saving.
[Zumindest in der Version auf'm dorftablet]
I think that the image cache could be in /data
(or even better in /cache
).
If you open the screen for setting the hostname repeatedly, there will be a few graphics glitches.
They've been there already for a few years and I've got no idea why or what to do about them.
Since October 2017, there's a new version of the Gradle plugin for Android.
Updating would bring a few benefits:
But there are many hurdles:
ActivityCompat
and such stuffSo, this probably is much work. And we won't get any positive outcome until most of it is done.
If we're lucky, we can pin some stuff and do that later.
The branch issue22
contains a few commits heading in this direction.
Wenn das Mete-Pad im Multiuser-Modus an der Wand hängt, könnte nach einigen Minuten eine Uhr angezeigt werden – sinnvoll, wenn man in der Küche keine Uhr hängen hat.
MeteroidAdapter.getPositionForSection
seems to be a bit buggy and throws a IndexOutOfBoundsException
at the end.
When a user enters a URL which the application deems to be invalid the user should be presented with a prompt which informs them that the URL is not valid.
When a user enters a URL which is invalid the application crashes.
An image which shows the bug can be seen below:
Mit Default-Space und Alternativ-Spaces zur Auswahl
It would be great to have chaosdorf/mete#33 implemented here, too.
You can add Screenshots for F-Droid, too, if you want.
https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/
Under some circumstances (eg. a small profile image) the account balance is missing.
@KAMiKAZOW noticed this.
This is not ideal.
It would be nice, if drinks could be added, modified and deleted.
meteroid should display the wrapped page it it's there.
implementation idea:
/user/{id}/wrapped/{year}
returns 200 or 404I'm a PhD student interested in finding security vulnerabilities in open source projects.
We found a total of 10 warnings (indicating potential vulnerabilities) when running the CogniCrypt static analyzer (*) on meteroid (or its library dependencies). We documented each one of these issues in private gists for the sake of confidentiality (non-disclosure).
Can you please let us know whether we can share these gists with you? We are eager to evaluate the perception of developers (e.g. severity of these warnings) and improve meteroid's security, and the quality of the reports of static analysis tools.
(*) https://github.com/CROSSINGTUD/CryptoAnalysis
Getränke-Logos von Flora und Ice Tea werden nicht angezeigt. Stattdessen kommt der Platzhalter.
It should be possible to view the audits (for a given time frame and / or for a given user).
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.