letme / give-me-coinsmonitoringapp Goto Github PK
View Code? Open in Web Editor NEWAndroid app for monitoring workers on give-me-coins.com mining pool.
License: GNU General Public License v3.0
Android app for monitoring workers on give-me-coins.com mining pool.
License: GNU General Public License v3.0
Generated files can (and should) be ignored in a .gitignore file as they are created by the build system.
Hi
After installing give-me-coins i have also install Google authenticator. When trying to use QR scan feature in Google authenticator it crashed, calling give-me-coins activity. Is it possible to have different activity name for QR scanning in g-m-c, so it doesn't interfere with other applications that need QR code scanning?
Tomaz
When selecting VTC, the "Pool shares this round" value comes out negative (and non-sensical). This is not the app's fault per se, because it faithfully reports what the website provides:
{"pool_name":"give-me-coins.com","hashrate":422214.80619,"netGhps":"5.34","workers":"842","shares_this_round":-43028285,"last_block":"72841","last_block_shares":"23869","last_block_finder":"aozdemir","last_block_reward":"50.001","difficulty":"172.54566398"}
You see the negative value for "shares_this_round" from the json report, which is then reported as "Pool shares this round" in the pool tab.
While this is really for the website to fix (on the actual website the value is eternally reported as "Updating..."), I was wondering if the app could do some kind of sanity check and report "not available" or so if the value is negative (or maybe non-sensical in some other way).
Below is a quick patch which does the trick. It's wonderful that the source code is available. Thanks for all the effort.
----snip----
diff --git a/src/give_me_coins/dashboard/GMCPoolService.java b/src/give_me_coins/dashboard/GMCPoolService.java
index 0ecba8f..e3b7c24 100644
--- a/src/give_me_coins/dashboard/GMCPoolService.java
+++ b/src/give_me_coins/dashboard/GMCPoolService.java
@@ -202,7 +202,15 @@ public class GMCPoolService extends Service{
} else if("workers".equals(name)) {
MainScreen.pool_workers=jsonAll.nextString();
} else if("shares_this_round".equals(name)) {
MainScreen.pool_round_shares=jsonAll.nextString();
Long str = jsonAll.nextLong();
if ( str < 0)
{
MainScreen.pool_round_shares="Not Available";
}
else
{
MainScreen.pool_round_shares=Long.toString(str);
}
} else if ("last_block".equals(name)) {
MainScreen.pool_last_block=jsonAll.nextString();
} else if (name.equals("last_block_shares")) {
If you close the app (tap back twice) and then reopen it, the stickyService is not running so you will receive no updates. This means you need to click "Save Settings" button to get thing running again.
App gives no notification if it is unable to connect to websites. Because all is done in background you dont even get notification something is wrong, but you only get Getting data... and stuff.
I have FTC and LTC selected, but when switching between them only the background colour changes.
Running on a Galaxy S3 4.1.2 stock.
When the app is shown on landscape mode, some of the text in all three tabs becomes unreachable because of no scrolling available
Summary data for BTC workers is not reporting accurately.
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
at com.android.internal.app.ActionBarImpl.setSelectedNavigationItem(ActionBarImpl.java:368)
at give_me_coins.dashboard.MainScreen$7.onPageSelected(MainScreen.java:248)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:567)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:551)
at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:2008)
...
The pool status tab doesn't work. No values are displayed.
Remove unnecessary exclamation mark from title.
Is it possible, to display also network hashrate, on POOL tab?
Tomaz
Robert Quirk request: One small request would be to be able to get notifications if a worker goes idle, like on the website with email alerts, but directly in my notification bar! If this was implemented it would be amazing!
Implementation suggestion: It would be nice if we could put a check into the running service that would trigger notification (as service already has notification's inside). Also we should have enable tick (toggle button) in settings for this from start.
Android Lollipop/ GMC Dashboard/ Summary page:
Numeric value of Confirmed Rewards and Round Estimate displayed but the USD value of both is blank (sometimes but inconsistently has been displaying the USD value of each)
Defining the keys of SharedPreferences
in string resource files, such as this is problematic for a couple of reasons:
A string value may be updated in strings.xml
to change the text on the UI, inadvertently breaking the retrieval of previously specified preferences. For example, if the text "Show LTC" were changed to "Update LTC" then the previously specified preference would not be loaded because the call here would resolve to sharedPref.getBoolean("Update LTC")
instead of sharedPref.getBoolean("Show LTC")
This pattern does not aid multi-language support. For example, if a French user (with their device locale set to fr) begins using the app today, their LTC preference is set via editor.putBoolean("Show LTC", boolean)
. If we later include French translations (someone contributes res/values-fr/strings.xml
) and push out an update, the updated code will attempt to retrieve that preference via sharedPref.getBoolean("Afficher LTC")
. Thus, after an update it might looks like the preferences where lost to a user with a non-English locale.
One possible solutions is to hardcode the keys in the code (or introduce constants)
Hi
You are on POOL tab and you can see all the data for hashrate, active workers etc.
If you swipe to SETTINGS and back to POOL all data disapears, and refresh after 1-2 secons. I don't know if this is bug, but it looks unusal:)
br,
Tomaz
Variables should be non-static by default and only promoted (per-say) to static when needed. Most uses in this code base are misinformed.
I was confused when I clicked the "Delete Settings" button and my API key and currency selections were not cleared. I think clearing the API key TextView would give users reassurance that their API key has been deleted.
It would be nice to see the actual exchange rate and have ability to automatically calculate the earned coins in other currencies.
When the app is unable to connect to give-me-coins it will crash without warning or reason.
GMCPoolService
does not respect the user-specified update interval. Instead, it does a GET https://give-me-coins.com/pool/api-ltc
every 10 seconds which might be excessive.
Should GET https://give-me-coins.com/pool/api-ltc
only be done as often as the user has specified via the Spinner
on the BarCodeReaderFragment
fragment (30 seconds, 1 minute, ...., 1 hour)?
Or is the current behaviour (update every 10 seconds) correct? Perhaps a longer hardcoded update interval could be discussed, something like 1 minute or 5 minutes?
Would be great to monitor more than one account and see both summary and accounts alone.
Hi
It would be great if notification could be switched on/off.
Tomaz
After loading develop branch into emulator I noticed that workers all have same hashrate as is you overall hashrate. Something is broken, so please pay attention to fix it .
I will be more happy if the app shows when was the last block found in the pool
Please!
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.