tag:blogger.com,1999:blog-6467430545364204952024-03-29T09:33:13.748-05:00GSam LabsGSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-646743054536420495.post-66789246365061305972019-12-27T21:01:00.003-06:002019-12-27T21:01:49.505-06:00Enhanced Statistics for Android Pie and Later<div dir="ltr" style="text-align: left;" trbidi="on">
Android continues to throw wrenches into how GSam Battery Monitor gathers statistics. That said, the changes are for the most part good from a security perspective, and Google has made it possible to continue to access much of the data - it just requires some re-work.<br />
<h3 style="text-align: left;">
Standard vs Enhanced Stats</h3>
<div>
<b>Standard:</b> For standard statistics (what you get if you don't run any ADB commands), GSam tracks things like bluetooth, phone, network, and screen usage using standard Android interfaces. These all require GSam to be running at all times as a service in the background. GSam is pretty efficient, so should have negligible impact on the battery.</div>
<div>
<br /></div>
<div>
<b>Enhanced:</b> In enhanced mode, the user needs to provide GSam with access to the <a href="https://developer.android.com/reference/android/Manifest.permission#BATTERY_STATS">BATTERY_STATS permission</a>. This allows GSam to access a wealth of data that Android collects. In KitKat, Android removed the ability for apps to request access to this permission. However in Lollipop and beyond, they partially restored the ability by allowing the user to explicitly grant an app access via ADB. This requires the user to connect their phone to a computer, install ADB, and run a command. Doing so is worth the effort in terms of the stats you get, however I don't expect most users to do this!</div>
<h3 style="text-align: left;">
Enhanced Changes in Android P</h3>
<div>
As of GSam version 3.39, GSam will use a combination of Standard and Enhanced mode to gather statistics. That is, for system wide stats, it uses the Standard mode, and for App specific stats (visible in the App Sucker screens), GSam will use the Enhanced mode.</div>
<div>
<br /></div>
<div>
The reason for this is complex. </div>
<div>
<ol style="text-align: left;">
<li>Google requires all apps to have a Target SDK version of <i>n or n-1</i> in order to publish an update to the Play Store. In other words, if the latest version of Android is Q, you must have a target SDK version of P or later. This means that Version 3.39 of GSam requires updating the Target SDK to P. Doing so has consequences.</li>
<li>Android has started <a href="https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces">restricting access to non-public interfaces</a>. Unfortunately, GSam relies heavily on non-public interfaces and a technique called reflection. Android allowed older apps to continue to access the APIs so as not to break things, but any updated app must conform to the new rules. This all makes good sense - it just breaks GSam :).</li>
</ol>
Fortunately, Android is providing a similar level of access to battery statistics for applications via the <a href="https://developer.android.com/reference/android/os/health/HealthStats">HealthStats API</a>. So GSam 3.39 is written to take advantage of these formal interfaces for access to all app specific statistics. These still require access to the BATTERY_STATS permission, but otherwise provide (almost) the same level of detail (see below for limitations and workaround).</div>
<h3 style="text-align: left;">
Limitations For Enhanced Stats in P and Later (see below for workaround)</h3>
<div>
<b>System Wide Stats:</b></div>
<div>
<ol style="text-align: left;">
<li><b>Screen Brightness Levels</b>: We don't track this due to the performance impact tracking it would have (the brightness changes too often).</li>
<li><b>Phone Radio Signal Levels</b>: We don't track this for the same reason we don't track screen brightness.</li>
</ol>
</div>
<div>
<b>Application Stats (under App Usage / App Sucker):</b></div>
<div>
<ol style="text-align: left;">
<li><b>Multiple Profiles - such as personal vs work profile</b>: Android has the ability to have multiple profiles. Often your work apps are running in a work profile separately from those apps in your personal profile. You'll likely notice you may have to install the same app in both profiles. For security reasons, GSam can't gather information on applications running outside of the profile in which it's running for security reasons. So - if you need details on the app usage in your work profile, you'll need to install another instance of GSam in your work profile. Yes, this is a pretty big limitation if you have work profiles (fortunately most users don't) - see below for a workaround.</li>
<li><b>CPU Stepping</b>: The power that the CPU uses can't be determined quite as accurately. Previously, GSam would look at how much time the app spent running at different CPU frequencies (which all draw different levels of power). Now, we have to collapse all the frequencies into one bucket and average them out.</li>
<li><b>Kernel Wakelocks:</b> There is no longer a way to gather kernel wakelocks. </li>
</ol>
</div>
<h3 style="text-align: left;" id="workaround-restore-full-enhanced-stats">
Workaround - Restore Full Enhanced Stats</h3>
<div>
Fortunately, it IS possible to restore fully enhanced stats, even on P and Q by allowing GSam to access what Android has deemed <i>hidden apis</i>. It requires running another ADB command, and more importantly, is not specific to GSam. In short, it not only allows GSam to access hidden APIs, but allows ANY app to access the hidden APIs.</div>
<div>
<br /></div>
<div>
Is this a security concern? Yes - sort of. That said, older apps can still access these APIs, but it is something Google is trying to ween people from. From a security perspective, it allows GSam to access statistics on apps that are outside of its profile.</div>
<div>
<br /></div>
<div>
On Android Q and later, run the following ADB command:</div>
<div>
<br class="Apple-interchange-newline" /><span style="background-color: white; font-family: Menlo; font-size: 12px; white-space: pre;">adb shell settings put global hidden_api_policy 1</span></div>
<div>
<br /></div>
<div>
On Android P, run the following ADB command:</div>
<div>
<pre style="background-color: white; font-family: Menlo; font-size: 9pt;">
adb shell settings put global hidden_api_policy_p_apps 1</pre>
</div>
<div>
<br /></div>
<div>
Finally, restart GSam (force close it).</div>
<div>
<br /></div>
</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com90tag:blogger.com,1999:blog-646743054536420495.post-15564094852158940182017-12-18T15:52:00.000-06:002019-12-27T18:38:07.303-06:00GSam Battery Monitor - Users Guide<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<hr />
<div style="text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: x-large;">Users Guide (Version 3.35)</span></div>
<div style="text-align: left;">
<br /></div>
<hr />
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<br />
GSam Battery Monitor provides more complete monitoring capabilities than the built in Battery Usage app in Android. It relies on the same battery statistic data, however it lets the user drill down and find out much more detail.<br />
<br class="Apple-interchange-newline" />
<hr />
<br />
<span style="font-size: large;"><u>Standard vs Enhanced Statistics Mode:</u></span><br />
<br />
GSam operates in two modes - Standard, and Enhanced Statistics. In Standard mode, GSam attempts to collect all statistics itself. Since KitKat, Android has made this harder and harder each release as they clamp down on security settings. This is a GOOD thing, but it makes the standard collection mode less useful over time.<br />
<br />
<b>Enhanced Stats:</b> By enabling enhanced statistics (Menu -> More -> Enable More Stats), GSam is able to access all raw battery stats that are maintained by the underlying platform. This does <b>not</b> require root, but it does require some manual steps by the user. The app will walk you through the steps to enable this. It's a pain, but is <b>strongly</b> recommended for for Nougat and beyond.<br />
<br />
In Android Pie and later, even with enhanced stats enabled, we will use Standard Mode to track system wide stats, and Enhanced mode to track application specific stats. This is due to a change Android made restricting what APIs (programming interfaces) any app targeting Pie or later can call. In general you won't notice the difference, but if you do, you can re-enable the fully enhanced mode by turning allowing apps to access hidden APIs.<br />
<br />
Some of the statistics shown in this guide may not be available without the Enhanced Stats enabled.<br />
<br />
<hr />
<br />
<span style="font-size: large;"><u>Main Screen:</u></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/wZvpaaAO3-eE6x9UuOHWKmUGYZ-sZhtHs_4LmhytZowJVv4zq6VpXxmtTMSTgkZL4HiW=h900-rw" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="536" height="200" src="https://3.bp.blogspot.com/wZvpaaAO3-eE6x9UuOHWKmUGYZ-sZhtHs_4LmhytZowJVv4zq6VpXxmtTMSTgkZL4HiW=h900-rw" width="118" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Main Screen</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://3.bp.blogspot.com/vOCv3CownoNRWx_3aLEDC6rD_stVspRm01454-BppcenJM3kS4ezssY-cg2iyVa4_dy5=h900-rw" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="600" height="200" src="https://3.bp.blogspot.com/vOCv3CownoNRWx_3aLEDC6rD_stVspRm01454-BppcenJM3kS4ezssY-cg2iyVa4_dy5=h900-rw" width="133" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tablet View (Pro Version)</td></tr>
</tbody></table>
The main screen of GSam Battery Monitor provides you with time estimates, and shows the power drain of various components of your phone such as the Screen, Bluetooth, etc. You can access additional function via the Menu button, or by clicking on a row in the table with a blue > icon on the right.<br />
<br />
The Professional and Kindle Fire versions of GSam Battery Monitor look somewhat different when run on Tablets, but the basic function is the same.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: right;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<b>Time Remaining Estimates:</b><br />
<ol>
<li><i>Average:</i> An estimate of remaining time based on usage since the phone was unplugged. Some aspects of this may be controlled through the Power Per Percent setting in the Preferences. This setting should get better over time as the app learns more about your device. <b>Note:</b> The Professional and Kindle Fire editions will show an average for time spent active on devices that have no phones (or that are in 'airplane' mode). This allows a more accurate prediction of how much active use you can get out of the device.</li>
<li><i>Last Xm:</i> An estimate of remaining time based on the device usage over the last X minutes. The maximum X can be is controlled through the <i>Calculate Time Left</i> preference. X may be a small number depending on when statistics were last collected. Statistics aren't collected while the device is not in use, so if you pick up your device after extended sleep time, this number may revert back to 1 and slowly climb as you use the device again.</li>
<li><i>Talk Time: </i>An estimate of how much talk time is remaining. Note that this only shows up on devices with phones.</li>
<li><i>To Full:<b> </b></i>When charging, this represents how long it will take to fully charge the device. Charge time can vary based on charger type (USB vs A/C) and usage of the device while it's charging.</li>
</ol>
<b>Used X% in TIME:</b> X shows the percent of battery consumed based on your time reference (by default since you last unplugged the phone). The TIME section shows the amount of elapsed time since the time reference (typically how long since you unplugged your phone). All statistics have been gathered since the time reference.<br />
<br />
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="background-color: white; color: #222222; font-weight: bold;">Δ %/h - TIME Active</span><span style="background-color: white; color: #222222;"><b>: </b> The battery change per hour since the time reference. The time active represents the time the device has spent in interactive mode (screen on, held awake, etc.)</span></span></div>
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<br />
<b>Phone:</b> How long have you actually spent on the phone - talk time. This is only visible on devices with a phone.<br />
<br />
<b>Screen: </b>How long has the screen been on. Dig into this field to see details of how the screen affects power usage:<br />
<br />
<ul style="text-align: left;">
<li><i>Screen Doze</i> (8.1 and beyond): Amount of time the Always On Display was active, and the percent of overall time compared to the time the screen spent powered off.</li>
<li><i>Discharge While On/Off</i>: Percent discharge of the battery while the screen was on/off. Note that this does not represent only the consumption by the screen itself. <b style="background-color: orange;">Tip:</b><span style="background-color: white;"> A high discharge amount while screen is off may indicate a problem app running in the background.</span></li>
<li><span style="background-color: white;"><i>Screen Brightness</i>: The time spent and percent of power used at a given brightness setting. The power is a percentage of the screen power consumed, not a percentage of overall power consumed (and so will always add up to 100%).</span></li>
</ul>
<br />
<br />
<b>Phone Radio:</b> How long has the phone had a signal. Click on this row to get more details, including how long the phone has been at various signal strengths. You can also see the amount of data transferred over your mobile network. <br />
<blockquote class="tr_bq">
<b style="background-color: orange;">Battery Saving Tip:<span style="background-color: white;"> </span></b><span style="background-color: white;">When your phone spends a long time at lower signal strengths, your battery will be consumed much faster. </span></blockquote>
<b>Wifi Active:</b> How long has your wifi radio been on with a signal? Click on this row to see the amount of data transferred over your wifi network. <b>Known Issue:</b> When you turn on and off the Wifi radio, all data transferred stats are reset for wifi. So if you turn this on and off a lot, treat your transfer stats with a grain of salt.<br />
<blockquote class="tr_bq">
<b style="background-color: orange;">Battery Saving Tip:<span style="background-color: white;"> </span></b><span style="background-color: white;">Android is pretty efficient about not using the Wifi unless it's needed, and data transfer over wifi uses less power than over 3G. So leaving it always on isn't a bad thing - just be careful if you have a very weak signal, and it keeps connecting and disconnecting.</span></blockquote>
<b>Held Awake:</b> This is the amount of time that the phone appears to be sleeping (screen is off), but some application is preventing the phone from going into a deep sleep. This is one of the chief indicators of unneeded battery drain. This is similar to the 'Idle' value in the built-in battery usage, however we don't include the screen on time to help with clarity. Dig into this field to get more details:<br />
<br />
<ul>
<li><i>Deep Sleep</i>: Amount and percent of time the device has spent in deep sleep with the CPU in it's lowest power state. </li>
<li><i>Doze Time:</i> Android supports a light and deep doze mode. The device will go into doze mode when Android detects it's not being used to save on battery.</li>
<li><i>% Screen Off</i>: The percent of time the device was in doze mode compared to the amount of time the screen was off. The higher this value is, the more benefit your getting from doze.</li>
<li><i>Discharge Screen Off</i>: The percent of battery discharge while the device is in doze mode compared to the amount while the screen is off.</li>
<li><b>Averages Per Complete Charge:</b> The lifetime averages that your device spends in doze mode for a complete discharge cycle. This is an estimated value since it's rare that a complete (100%) discharge cycle occurs. The max value represents the maximum measured value.</li>
</ul>
<br />
<blockquote class="tr_bq">
<b style="background-color: orange;">Battery Saving Tip:<span style="background-color: white;"> </span></b><span style="background-color: white;">Apps should not wake your phone up out of a deep sleep. If the Held Awake time seems high to you, go into the App Sucker task, and sort by 'Time Held Awake', and 'Num Times Waking Device'. This can help you identify a misbehaving app</span></blockquote>
<b>Bluetooth:</b> The amount of time the Bluetooth radio is on. We've seen cases where a misbehaved bluetooth driver doesn't allow the phone to sleep, however for the most part, leaving bluetooth on consumes negligible power.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>App Usage:</b> This shows the % of power used by all apps on the phone. Click on this row to go into the App Sucker task where you can view all the details.<br />
<br />
<b>Averages Per Complete Charge:</b> Over time, GSam Battery Monitor averages the amount of time your phone lasts and amount of <i>screen on</i> time on a given charge cycle. Initially, this number will fluctuate considerably, but over time it should start to level out. This is an estimated value since it's rare that a complete (100%) discharge cycle occurs. The max value represents the maximum measured value.<br />
<br />
<ul style="text-align: left;">
<li>The Professional and Kindle Fire editions will show an average life spent active (not including Standby) for devices without phones. This gives a better prediction of average life for devices that have a long standby time.</li>
<li>You can reset the average value in the Preferences menu - but once you do, you'll have to re-establish your usage patterns.</li>
<li>The average is calculated whenever you plug your phone in to charge. You have to have used it for a good amount of time however, or that number will be ignored. For example, if you only used your phone for 15 minutes and re-plugged it back in, GSam Battery Monitor doesn't include that time in it's averaging.</li>
<li>On devices without phones, the standby time can be very large (many days). The time you're most interested in is your in-use time, and so for such devices, Avg. Life shows your in-use time rather than your overall average battery life. If you want to see the overall average, click the button and share to an application, and view the text provided - it will include both overall and in-use averages.</li>
</ul>
</div>
<div style="text-align: left;">
<div style="text-align: left;">
<br /></div>
<hr />
</div>
<div style="text-align: left;">
<span style="font-size: large;"><u>App Sucker:</u></span></div>
<div style="text-align: left;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-4qyV1GBkcNM/Tpu6ZX5I6CI/AAAAAAAAAAY/kzFSOsS3ESU/s1600/device-2011-10-16-222648.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br />
</a></div>
<div style="text-align: right;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/G2fXTHOyNcnwE5SNLrFjsjF-vBCv6s4WTSXL_9Erb4sEwKTQPRg1IXHksbObQdkHA6n6=h900-rw" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="536" height="320" src="https://1.bp.blogspot.com/G2fXTHOyNcnwE5SNLrFjsjF-vBCv6s4WTSXL_9Erb4sEwKTQPRg1IXHksbObQdkHA6n6=h900-rw" width="188" /></a></div>
The App Sucker tasks shows all applications that have consumed resources on your device since the given time reference. You can sort the apps by a number of categories. Clicking on an app will show you lots of gory details about that app and it's usage.</div>
<div style="text-align: left;">
<ol>
<li><b>View % Power Used: </b>Sort by the percent of overall power used by the application</li>
<li><b>View % Power (Background CPU Only): </b>Same as % Power Used, except foreground CPU usage is removed. This lets you see what apps are using the most power when they're running in the background. If you're actively using an app (running in the foreground), it's CPU utilization isn't quite as interesting from a battery saving perspective - you may really want to know who's consuming resources in the background.</li>
<li><b>View CPU Minutes Used: </b>Sort by the amount of CPU used by the application.</li>
<li><b>View CPU (Background CPU Only):</b> Same as CPU used except foreground CPU usage is removed. For more information, see % Power (Background CPU Only).</li>
<li><b>View Network Data Used:</b> Sort by the amount of network data (wifi or 2/3/4G) used by the app. Note that depending on how the app gets it's data, not all apps will show usage even when you think they should. This is a limitation of how Android collects it's statistics.</li>
<li><b>View Sensor Time Used:</b> Sort by the aggregate amount of time an app has used various sensors. This let's you see apps that may be using sensors improperly and not releasing them when they should - this can be quite power draining. NOTE: By default, GSam collects sensor data usage, but does not use it to calculate app power draw because of bugs in many devices estimate for a sensor power draw. You can change this behavior in the preferences.</li>
<li><b>View Time Held Awake:</b> Sort by time this app has kept the device awake. This looks at partial wake locks - the type that keep the device awake even when the screen is off. This is a warning sign of a misbehaving app - however there are many many valid reasons for using partial wake locks - even when the sreen is on, so don't accuse an app of being bad just because it uses these.</li>
<li><b>View Num Times Waking Device:</b> Lists the number of times an app has done something which might wake the device. Note that this doesn't mean the app DID wake the device. High values here may be a red herring - so use these with caution.</li>
<li><b>View GPS Time Used:</b> Sort by the amount of time the app used the GPS. GPS usage is VERY battery intensive.</li>
<li><b>View Kernel Wakelocks:</b> This is a very advanced option, and is not for the average user. The kernel is essentially your core Android operating system. This will list the wakelocks that have been held while the screen is off, but since this is the core operating system, there is little you can do about it directly. Click on the wakelock and then you will get the option to Google it. For more information, see the <a href="http://badassbatterymonitor.blogspot.com/2013/01/support-for-kernel-wakelocks.html" target="_blank">Kernel Wakelock blog post</a>. </li>
</ol>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="http://2.bp.blogspot.com/-BNxn84GnbI0/Tpu6kQk5v6I/AAAAAAAAAAg/Iz1vXZDP5jg/s1600/device-2011-10-16-222757.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br />
</a><span style="font-size: small;"><b> </b></span><br />
<span style="font-size: small;"><b>App Details Screen: </b></span><br />
<br />
<a href="http://2.bp.blogspot.com/-XNPCAsPjChQ/TvADxrg6PkI/AAAAAAAAABc/F9gEBNjs-Nw/s1600/screenshot-1324329484333.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>When clicking on an app in the App Sucker task, you will see a screen showing <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/ieeDraVncx805OI8OcZE8OodbwoM15_dg6oFYO8nsW6A45PPVLTBHV7vBGNggLhv9JM=h900-rw" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="900" data-original-width="536" height="200" src="https://1.bp.blogspot.com/ieeDraVncx805OI8OcZE8OodbwoM15_dg6oFYO8nsW6A45PPVLTBHV7vBGNggLhv9JM=h900-rw" width="118" /></a></div>
lots of details about the app. Most data in this screen should be self explanatory. Keep in mind that an app may be a collection of processes and packages which we attempt to show.<br />
<br />
<ul>
<li><b>Usage Details:</b><b> </b>The usage details should for the most part be self-explanatory. Note that some functions that the app may perform do not always get attributed to the app. For example, some network usage may be attributed to a different application which performs the service function.</li>
<li><b>Wakelock Detail:</b> This shows the amount of time, number, and name of the application wakelocks. Apps that wake up the phone a lot, or spend a lot of time holding wakelocks<i> can</i> be problematic, but aren't always. It's perfectly reasonable for example that a game will hold a wakelock keeping the screen on for as long as your playing the game.</li>
<li><b>Manage</b> :<b> </b>The Manage button takes you to the Manage Application screen for the given app. This allows you to uninstall, force stop the app, etc. This is the standard application manage screen for your device</li>
</ul>
<br />
<hr />
<br />
<div style="text-align: left;">
<span style="font-size: large;"><u>View Statistics Since:</u></span></div>
<br />
By default, GSam Battery Monitor shows you statistics based on when you last unplugged your phone. However GSam offers you other ways to view yours stats as well:<br />
<br />
<ul style="text-align: left;">
<li><i>Since Last Unplugged:</i><b style="font-style: italic;"> </b>This is the default for GSam, and show you stats since you last unplugged (or restarted) your device.</li>
<li><i>Since Last Full Charge: </i>This shows you stats since the last full charge (> 90%). Note that this may mean you see a %used of > 100% if you charged your phone to less than 90%.</li>
<li><i>Since Screen Off</i>: This shows you stats since the screen was last turned off. Every time the screen turns off, GSam will create a reference point. This helps diagnose apps that are consuming power in the background while the screen is off.</li>
<li><i>Since Now</i>: This lets you create a custom reference point. You can only have 1 custom reference active at a time, and this reference will get reset on reboot or unplug.</li>
</ul>
<br />
<div style="text-align: left;">
<br /></div>
<hr />
</div>
<div style="text-align: left;">
<span style="font-size: large;"><u>Charts:</u></span></div>
<br />
<a href="https://1.bp.blogspot.com/rCaN212wH-Y2tXR4QIPBR0f2tcN9bn2CG3RbP44Jfc0_QNTlWICNsJc3pC_7r5i9Q3A=h900-rw" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="900" data-original-width="536" height="320" src="https://1.bp.blogspot.com/rCaN212wH-Y2tXR4QIPBR0f2tcN9bn2CG3RbP44Jfc0_QNTlWICNsJc3pC_7r5i9Q3A=h900-rw" width="190" /></a>The charts task let's you see your battery % over time with various overlay supports. The overlays let<br />
you see what events were happening at a given point in time. Do you see a precipitous drop in battery? Try and see what event caused that - perhaps you were in an active phone call? Perhaps you had GPS on?<br />
<br />
<b>Others:</b> This is one of the more interesting ones. It plots:<br />
<br />
<ul style="text-align: left;">
<li>GPS - shows when GPS was active</li>
<li>In Call - shows time spent in a phone call</li>
<li>Wifi - shows time spent with wifi actively connected</li>
<li>Screen - shows time spent with the screen on</li>
<li>AOD - Always On Display (new for 8.1) shows time spent with the screen off, but the Always On Display (Ambient Display) active.</li>
<li>Active - shows time that the device was active. Either with the screen on, or with active wakelocks. You may need to zoom in to get a more accurate picture.</li>
<li>Doze - shows the time spent in Doze mode. The darker color indicates Deep Doze.</li>
</ul>
<br />
<b>Temperature:</b> This plots the battery temperature. Typically when the temperature of your batter increases, it's because your battery is getting heavy use, so expect to see the battery drop when the temperature rises<br />
<br />
<b>Phone Signal:</b> A poor phone signal is often a cause of battery drain. You can plot your phone signal quality alongside your battery drain.<br />
<b><br /></b>
<b>Rate Of Change:</b> Shows the rate of change (battery discharge). This can be useful to quickly zoom in on problem areas.<br />
<br />
<b>CPU:</b> This plots the CPU Utilization and CPU Average Frequency. This is sampled data over time, and so should not be taken too literally. That is, look at the overall trend, not a specific datapoint.<br />
<br />
<hr />
<br />
<span style="font-size: large;"><u>Notification / Status Icon:</u></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="http://4.bp.blogspot.com/-KiSBBf2pG_k/UPyKUfQX0pI/AAAAAAAAACg/-usswy7w3rc/s1600/device-2013-01-20-182103.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-KiSBBf2pG_k/UPyKUfQX0pI/AAAAAAAAACg/-usswy7w3rc/s320/device-2013-01-20-182103.png" width="192" /></a>A status icon will appear in the status bar indicating the current percent of battery remaining. You can customize this icon by theme in the Preferences. There are add-on icon packs as well, some created by GSam Labs, and some created by <a href="http://code.google.com/p/badass-battery-monitor-iconpack-template/wiki/CreatingAnIconPack" target="_blank">third parties</a>.<br />
<br />
In the notification menu, you can see the latest time remaining estimates. For more on the Estimates, see the Main Screen section below. Clicking on the notification message will launch the app, allowing you to get to the Main Screen.<br />
<br />
You can chose not to show the notification icon at all if you already have an alternative way to see the battery percent. Even better, on Jelly bean you can show the notification status without showing an icon.<br />
<br />
An Overlay icon is also supported (requires the Icon-Pack add-on). This allows you to overlay the stock battery icon in the top right of the screen. It's size and location is fully configurable, and it should automatically hide when an app is in full-screen mode. For more information, see the <a href="http://badassbatterymonitor.blogspot.com/2012/11/icon-pack-overlay-support.html" target="_blank">Overlay blog post</a>.<br />
<br />
<b>Widgets:</b> There are 2 widgets supported and are pictured on the right. You need to have the app installed on internal storage in order to use widgets. You can add them to any screen just like any other widget.<br />
<div style="text-align: left;">
<br /></div>
<hr />
<br />
<div style="text-align: left;">
<span style="font-size: large;"><u>Preferences:</u></span></div>
<br />
Most preferences are self explanatory. The ones below require more explanation:<br />
<br />
<b>Alarms:</b> You can set alarms to notify you when your battery is fully charged, or when it reaches a certain low-threshold. These alarms will audibly and visually notify you. The 'Hot Battery' alarm will notify you when your battery gets too hot. The alarm will stay in your notification tray until your battery gets back to a normal temperature.<br />
<br />
<b>Allow Anonymous Usage Reporting:</b> This will report usage information using the Flurry service. If you desire, you can turn this off - but we're using this to help improve the app - no personal information is sent. Using Flurry allows us to do the following:<br />
<ol style="text-align: left;">
<li>For every 'device' using GSam Battery Monitor, we can see some basic device information - the type of device, the version of Android, and the version of GSam Battery Monitor in use. No personal information of any sort is sent.</li>
<li>See how users are using the app. This lets us make improvements to the application over time.</li>
<li style="display: inline !important;"><b><ol style="text-align: left;">
<li style="display: inline !important;"><b><br /></b></li>
</ol>
Note:</b> If you turn his off, you will see Ads on the Free version (which is otherwise, ad-free). No ads will ever be seen on the paid version.</li>
</ol>
<br /></div>
<div style="text-align: left;">
<b>Device Power Profiles:</b> Every device is shipped with a power profile that allows the manufacturer to indicate how much power a given function uses. For example, how much power does a phone call use, how much does the screen use at various brightness settings, etc. All % Utilization values depend on these - so if the underlying reference data is bad, so will our statistics. You can chose to use a custom profile and edit the values - but use caution here. Only use this feature if something is clearly wrong. For example, I saw a Samsung phone where the Sensor utilization was really out of whack (using the Accelerometer for 5 minutes claimed to use 95% of the devices power).<br />
<br />
<b>Note:</b> Adjust the Device Power Profile with care. There are very few devices that need adjustment.</div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<br />
<b>Power Per Percent:</b> You shouldn't touch this setting except if you change your power profile. If you do, then zero out the value in here. This value gets used to calculate estimated times remaining, so if your time remaining seems completely wrong, you can adjust these numbers. They are automatically generated based on your usage, and so if you manually change things, you may want to set the TOTAL_PERCENT_MEASURED value to be very high as the higher it is, the less current usage will affect the POWER_USED_PER_PERCENT_DROP.<br />
<br />
<div style="text-align: left;">
</div>
<hr />
<br />
<div style="text-align: left;">
<span style="font-size: large;"><u><a href="http://www.blogger.com/blogger.g?blogID=646743054536420495#" name="permissions"></a>Permissions:</u></span></div>
<br />
GSam Battery Monitor uses the following Android permissions.<br />
<br />
<a href="http://developer.android.com/reference/android/Manifest.permission.html#INTERNET" target="_blank">android.permission.INTERNET</a>:<br />
<ul style="text-align: left;">
<li>Used to send anonymous statistics using the Flurry and Google Analytics service (user can choose to disable this). These statistics allow the development team to learn how users are using the app. No identifying data is sent.</li>
<li>Used to display ads (only on the Free version if user has chosen to view Ads)</li>
<li>Used to display a chart in the Charts view using the google chart API.</li>
</ul>
<a href="http://developer.android.com/reference/android/Manifest.permission.html#BATTERY_STATS" target="_blank">android.permission.BATTERY_STATS</a>: </div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>Required to retrieve detailed statistics on battery usage. All detailed data such as how long various resources are in use come from this permission.</li>
<li>For Lollipop and beyond, you need to manually enable this via ADB (See Enhanced Stats)</li>
</ul>
<a href="http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE" target="_blank">android.permission.ACCESS_NETWORK_STATE</a>: </div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>Used in conjunction with the INTERNET permission. It will check if the device has network access before trying to use the network.</li>
</ul>
</div>
<div style="text-align: left;">
<a href="http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED" target="_blank">android.permission.RECEIVE_BOOT_COMPLETED</a>: </div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>Let's the battery monitor start up with your device is started. You can disable this in the preferences if you want it to start manually.</li>
</ul>
<a href="http://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH" target="_blank">android.permission.BLUETOOTH</a>: </div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>An Android bug introduced in ICS requires the bluetooth permission when reading the battery statistics. This happens particularly with some car / bluetooth docks. It should not be required, but it's added to ensure that devices with this bug can still obtain battery stats.</li>
<li>Rest assured, the battery monitor does not connect to any bluetooth devices. This is here purely to work around a bug in the Android OS. For those that are interested, here is the stack trace showing the call to getStatistics failing due to the bluetooth permission:</li>
<code>
07-13 16:54:07.727 E/com.gsamlabs.bbm.lib.NotifyingService(10114): Caused by: java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10120 nor current process has <b>android.permission.BLUETOOTH</b>. </code>
<code></code><code> </code></ul>
<ul style="text-align: left;"><code>07-13 16:54:07.727 E/com.gsamlabs.bbm.lib.NotifyingService(10114): at android.os.Parcel.readException(Parcel.java:1327) </code></ul>
<ul style="text-align: left;"><code>07-13 16:54:07.727 E/com.gsamlabs.bbm.lib.NotifyingService(10114): at android.os.Parcel.readException(Parcel.java:1281) </code></ul>
<ul style="text-align: left;"><code>07-13 16:54:07.727 E/com.gsamlabs.bbm.lib.NotifyingService(10114): at com.android.internal.app.IBatteryStats$Stub$Proxy.<b>getStatistics</b>(IBatteryStats.java:539) </code></ul>
<div style="text-align: left;">
<a href="http://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE" target="_blank">android.permission.READ_EXTERNAL_STORAGE</a>: </div>
<ul style="text-align: left;">
<li>Allows selection of notification tones (for alarms) that the user has stored on their external storage (SD Card).</li>
<li>This is a new for Jelly Bean. Previously, Android allowed any app to read from external storage, however new in Jelly Bean, if the user configures the <i>Developer Options -> Protect SD Card</i> option, then apps will need this permission. </li>
</ul>
<div style="text-align: left;">
<a href="http://developer.android.com/reference/android/Manifest.permission.html#READ_PHONE_STATE" target="_blank">android.permission.READ_PHONE_STATE</a>: </div>
<ul style="text-align: left;">
<li>Allows GSam to track when your phone is in use. On the main screen GSam shows the amount of time and power drain when you are in a call, so it's important to know when the phone is being used. Rest assured, we do NOT use this to track anything other than a simple 'in-use' statistic. We don't track or record any information about calling numbers, etc.</li>
<li>This is a new for KitKat. Previously these statistics were available directly from Android without manual tracking. In KitKat, access was removed, so we need to track this ourselves. See <a href="http://badassbatterymonitor.blogspot.com/2013/01/frequently-asked-questions-gsam-battery.html#root_companion">this post </a>for more information. </li>
</ul>
<br />
<div style="text-align: left;">
<a href="http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE" target="_blank">android.permission.ACCESS_WIFI_STATE</a>: </div>
<ul style="text-align: left;">
<li>Allows
GSam to track when your wifi is turned on. On the main screen GSam shows
the amount of time and power drain when your wifi is on, so it's
important to know when it is being used. Rest assured, we do NOT
use this to track anything other than a simple 'in-use' statistic. We
don't track or record any information about accessed devices, etc.</li>
<li>This
is a new for KitKat. Previously these statistics were available
directly from Android without manual tracking. In KitKat, access was
removed, so we need to track this ourselves. See <a href="http://badassbatterymonitor.blogspot.com/2013/01/frequently-asked-questions-gsam-battery.html#root_companion">this post </a>for more information. </li>
</ul>
<ul style="text-align: left;">
</ul>
<div style="text-align: left;">
com.gsamlabs.permission.BATTERY_STATS: </div>
<ul style="text-align: left;">
<li>This is used to retrieve BATTERY_STATS on KitKat (4.4+) based devices when paired with the Root Companion app. The Root Companion app may be used by other apps, and so it is important that users are notified that a consuming app is retrieving Battery Stats. Users on Android 4.3 and earlier can ignore this permission.</li>
</ul>
<ul style="text-align: left;"><code> </code>
</ul>
</div>
</div>
</div>
</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com800tag:blogger.com,1999:blog-646743054536420495.post-245794737071639122013-01-26T22:00:00.000-06:002013-12-24T13:29:31.740-06:00Frequently Asked Questions - GSam Battery Monitor<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="http://www.blogger.com/null" id="#KitKat">
</a>
<br />
<h3 style="text-align: left;">
<a href="http://www.blogger.com/null" name="root_companion"></a>GSam Battery Monitor and KitKat</h3>
As of version 3.3, GSam Battery Monitor is now fully compatible with Android KitKat (4.4) for non-root devices. If your device is rooted however, there are more statistics that GSam can collect. So if you have root, make sure you install the GSam Battery Root Companion app. If you don't have root - no problem, things will still work well, but some stats such as app wakelocks will not be available.<br />
<br />
<div style="text-align: left;">
</div>
<br />
Unfortunately, Google has removed the ability in KitKat (4.4) for non-system applications to access battery statistics. On versions prior to KitKat, GSam obtained battery statistics from a built-in set of statistics from Android. If you have root, we can still get at that data. If you do not, then GSam will track as much of that data as it can by itself. Not all data can be tracked however.<br />
<br />
<b>Permissions:</b><br />
<br />
In order to manually track usage for non-root users in KitKat, we had to include 2 new permissions. READ_PHONE_STATE and ACCESS_WIFI_STATE. These were added so that we know when the phone and wifi are in use so we can correctly show the respective power drain. Google Play users who are not using KitKat will not see these permissions, but KitKat users will regardless of whether they have Root or not.<br />
<br />
<b>If you have root:</b><br /><a href="https://code.google.com/p/android/issues/detail?id=61975" rel="nofollow"></a>
<br />
<div style="text-align: left;">
<br />
There are a number of ways around this - unfortunately, all of them require Root.<br />
<ol style="text-align: left;">
<li>Use the <a href="https://play.google.com/store/apps/details?id=com.gsamlabs.bbm.rootcompanion">GSam Battery Monitor - Root Companion app</a>. This app will walk you through installing it as system privileged app. Once done, GSam Battery Monitor will behave as before. This is the preferred way... OR</li>
<li>Copy GSam Battery Monitor apk directly into /system/priv-app/. This works well for the Free version, but is more challenging for the Paid version, requiring hoops that do not work for everybody.</li>
<li>Use the <a href="http://forum.xda-developers.com/showthread.php?t=2519744">XPosed Module</a> that we wrote. This of course requires that you have the XPosed framework installed - and then you need to install linked module. This works well, and provides a more generic solution that works not only for GSam Battery Monitor, but for other apps as well. We still recommend option #1 above as it is the lowest risk mechanism - but if you already use XPosed, then this route is a great alternative.</li>
</ol>
</div>
<br /><br />
<h3 style="text-align: left;">
Why do some Apps show higher usage than I would expect?</h3>
<div style="text-align: left;">
If you are fairly confident that an app really isn't using as much power as GSam Battery Monitor reports, it could be a problem with how Android reports it's sensor usage. Some devices
coupled with certain levels of Android don't correctly report sensor
usage by apps. Specifically, it appears that an app has continuously
used a certain sensor (such as the accelerometer), thereby triggering a
very high power drain relative to other apps. So if your app
is showing that it has a high sensor usage - but you know it doesn't,
then go into Preferences -> Device Power Profiles -> Include
Sensors. Uncheck this (do so when you are plugged in). </div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Things should start correctly showing usage. Unfortunately it means
that the app can't take sensor usage into account, but if your phone
isn't accurately reporting that to begin with, it's better off not
included.<br />
<br /></div>
<div style="text-align: left;">
<h3 style="text-align: left;">
The notification icon doesn't update, and I have to open the app to see the latest.</h3>
<div>
The battery monitor has to run in the background to keep posting the latest battery stats to your notification bar. Things such as task killers, or memory cleaners will stop the the background service. It will restart on it's own, but if it gets stopped too many times in a certain time span, Android will lengthen the restart time. Android itself will also stop background tasks automatically when it needs resources (hence why task killers are not a good idea - Android already does this). If your phone is running too low on resources and has lots of apps competing for these resources, the battery app will get stopped by design.</div>
<div>
<br /></div>
<div>
If you want to override this behavior, enable the following preference: Preferences -> Device Power Profiles -> High Priority. Do this with care though. It sets GSam to run in a mode where it will only get stopped if the system is really running low on resources. If you don't have an update problem, don't enable this.</div>
<div>
<br /></div>
<div>
There are other reasons it could be happening - but try this first. If this still doesn't resolve your issue, please contact us so we can help!</div>
<div>
<br /></div>
</div>
<h3 style="text-align: left;">
My tablet reports Phone usage - but it doesn't have a phone. Why?</h3>
<div style="text-align: left;">
Some device manufacturers don't always correctly honor Androids API to determine if a device has Telephony support or not (that's you Nook). Please email us and let us know the specific device - we'll update a table of specific devices so that it reports things correctly for you!<br />
<br /></div>
</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com99tag:blogger.com,1999:blog-646743054536420495.post-82664863856525371582013-01-20T19:19:00.004-06:002013-01-20T19:19:59.854-06:00Support for Kernel Wakelocks<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="http://1.bp.blogspot.com/-JAZgAF5hgPY/UPyQZEasuCI/AAAAAAAAADo/W7PM5Xmf20s/s1600/device-2013-01-20-183109.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-JAZgAF5hgPY/UPyQZEasuCI/AAAAAAAAADo/W7PM5Xmf20s/s200/device-2013-01-20-183109.png" width="120" /></a>Version 2.28 of GSam Battery Monitor has added support for displaying Kernel Wakelocks. Kernel wakelocks are a <b>very advanced</b> feature, and are not intended for your average user. Indeed, I see so many users getting confused by them in forum posts that I have resisted the urge to add them in. They are often unique per phone / manufacturer, and a high wakelock time is not necessarily indicative of a problem.<br />
<br />
All that said, kernel wakelocks are <b>very</b> useful for folks trying to diagnose custom ROM problems. If you're running a custom ROM and are seeing battery issues, kernel wakelocks are very useful, and can help the ROM developer understand what is going on. For people using stock ROMs they are useful to simply understand how their phone usage affects their battery life, however this takes a lot of understanding and often a lot of research reading code to understand what a certain wakelock does.<br />
<br />
So - use with caution. Click on the wakelock and select the Google Me button to do a quick google search on the wakelock. Most likely this will lead to an XDA-developers forum post by somebody using Better Battery Stats (great App BTW) to view their wakelocks. Sometimes the info is informative, but more often than not they are red-herrings and very un-useful. Things such as 'X Wakelock is killing my battery!!!!!!'<br />
<br />
<b>Remember: </b> Just because a kernel wakelock has a high value, doesn't mean there is a problem! The wakelock may be occurring while the screen is on (in which case who cares)<br />
<br />
<b>When to look at kernel wakelocks: </b> When your 'Held Awake' usage is high, and your Kernel has the bulk of it. In that case, dig into the kernel wakelocks. If your normal apps account for most of the Held Awake time, then you can safely ignore the kernel wakelocks.</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com88tag:blogger.com,1999:blog-646743054536420495.post-12845207696193521322012-12-02T12:01:00.002-06:002012-12-02T12:01:34.077-06:00The Perils Of Publishing A Bad Update (AKA Why Test?)<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<div>
<blockquote class="tr_bq">
Mea Culpa - my apologies to the entire community that uses and relies on GSam Battery Monitor. This bad update (version 2.23) should have never gone out the door! The latest version on Google Play (version 2.24) fixes the force close issue.</blockquote>
<br />
Yesterday (Sat Dec 1) I worked on a few updates and bug fixes to GSam Battery Monitor. I got them all working and tested on my various test devices, and I was ready to publish.<br />
<br />
Publishing is a pain. I have 6 different builds to run. 2 for Google Play (free & paid), 2 for Amazon Appstore, and 2 for the Nook Store. I do each one manually - yes, I know...I should have automated this a long time ago). Once built, I will test install one of the builds onto a phone - make sure it installs and do a very basic test (I've already done my full code tests before the formal build). Then I have to go into each 'store' and upload them. It's easy enough when there are no screenshot changes - but it still takes about 5 minutes per item per store.<br />
<br />
I published version 2.23 into all 3 stores, and then went out for the evening. Once the update went live (takes about 2 hours on Google Play), my inbox started filling up - and fast. With over 100K active users, you can imagine how quickly. The free version on Google Play was completely broken - nothing worked. It force closed immediately. Yikes! How did I let that happen?<br />
<br />
Turns out, my manual export/build didn't include all of my layout and style XML files. The code wasn't bad, it was just a bad build (argh - why the android export claimed success I don't know). And it only affected the free version on google play (I had tested/verified the paid version).<br />
<br />
<b>Lessons Learned</b><br />
<ol style="text-align: left;">
<li>Test install and sniff every single build output. Just validating 1 of the six simply is not good enough.</li>
<li>Move over to an automated build. Not sure that would have helped here, but it will at least speed things up, making me less likely to mess up.</li>
<li>Admit your mistake and get a fix published ASAP. Fortunately I was able to get an update out there within a few hours. </li>
</ol>
</div>
<br />
<b>How this affects the<i> </i><i>Brand </i>and the apps reputation</b><i><br /></i><br />
<br />
Needless to say, an apps reputation is what makes or breaks it. There are hundreds of battery monitors out there. There are a few that even perform very similar function to GSam. Reputation is based on word of mouth and forum postings - and a huge update failure like this doesn't help! <br />
<br />
I'm posting this the day after - so I don't have much data yet, but here are some interesting stats:<br />
<ul style="text-align: left;">
<li>App Rating: 4.653 before the update to 4.633 afterwards. That may not seem like a huge drop, but it is. Went from 37 1 star ratings to 62 in just a few hours. That's going to leave a mark!</li>
<li>Active Installs: This usually increases around 500 a day, and instead dropped 472. This is the number of installs - number of uninstalls. Hopefully that trend doesn't continue!</li>
<li>Forum Postings: A quick google shows a few forum postings warning folks to stay clear of the update (and rightly so). Those things stick around - so 2 months from now folks may stumble across them and think there is still a problem.</li>
<li>Paid App Installs: So far, there hasn't been any affect to the number of sales. Most of the sales come from folks who have used the free version, and like it. Hard to convert folks over from free to paid when the free version doesn't work! Hopefully this continues (the paid version didn't break after all), however I'm not holding my breath.</li>
</ul>
I am heartened however by the number of folks who have written in thanking me for getting a fix out so quickly. There are only so many 'Epic Fail' emails you can read - even though they are deserved :)<br />
<br />
<b>Samsung GS<i>II </i>Issues</b><br />
<br />
The GSII makes up about 9% of my install base. I had 3 users write in saying that the force closes were effectively putting their phones into a constant reboot cycle. With just one user, I would say it was a pure coincidence, but with 3 folks writing in, something strange is going on! First off:<br />
<blockquote class="tr_bq">
Samsung - how in the world do you allow a user-space app without much in the way of special permissions crash your phone? This completely breaks the whole concept of app isolation that Android provides. I can understand having a bug that allows a malicious app cause harm, but trust me - there is nothing malicious in this app! Googling around shows me lots of incidences of this happening...</blockquote>
</div>
As of this writing, here are where things stand:<br />
<ol style="text-align: left;">
<li>One user was able to get in and uninstall the app before the phone rebooted again (took him many many tries). After that, the phone went back to normal.</li>
<li>One user tried an ODIN flash maintaining his data. He then was able to finally get in like the person above and uninstall the app. Unfortunately, he is still seeing a boot-loop. Let's hope it can be resolved without a factory reset.</li>
<li>One user ended up factory resetting. When all else fails - but yikes.</li>
</ol>
<div>
<div>
</div>
</div>
</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com90tag:blogger.com,1999:blog-646743054536420495.post-73328729139626363802012-11-14T00:41:00.000-06:002012-11-14T00:41:58.347-06:00Icon Pack - Overlay Support<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="data:image/png;base64,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" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" src="data:image/png;base64,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" /></a></div>
<div>
The GSam Battery Monitor Icon Pack contains support for overlaying your default battery icon. Take a look at the top right of the screenshot below. You see the 12? That's the overlay icon, replacing the normal drab battery icon that doesn't show you any details.<br />
<br />
<br />
<b>Why Overlay?</b><br />
<ul style="text-align: left;">
<li>Some devices don't show the icon in the normal notification bar, so you have to drag down the notification to see the % of your battery.</li>
<li>A lot of custom ROMs for your phone/tablet support a 'mod' that allows you to control the battery icon itself. Great for those who have it - but this brings you similar function without rooting your device!</li>
<li>The overlay shows up on your lock screen - so no more unlocking your phone just to see your battery %. Some phones already show the battery % in the lock screen, but a lot don't.</li>
</ul>
</div>
<br />
<br />
<b>Enabling the Overlay:</b><br />
<br />
<ol style="text-align: left;"><a href="data:image/png;base64,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" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" border="0" height="185" src="data:image/png;base64,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" width="320" /></a>
<li>Launch GSam Battery Monitor (any edition)</li>
<li>Open up the Preferences (Menu -> Preferences)</li>
<li>Choose one of the icon pack themes via the Battery Icon Theme preference</li>
<li>Select <i>Overlay Standard Battery Icon</i>. You should now see the icon in the top right corner if your screen.</li>
<li>Select<b> </b><i>Configure Overlay Icon</i> to further configure the size and location of the icon.</li>
</ol>
<br />
<b>Overlay Configuration:</b><br />
<br />
Unfortunately, every android device is different, so some customization will be required to get the icon in JUST the right place. There are a lot of configuration options that can be somewhat complicated, so bear with me:<br />
<br />
<ul style="text-align: left;"><a href="http://1.bp.blogspot.com/-DGCG8h5rRX4/UKM6kqHdb1I/AAAAAAAAACM/VXPa9CeG7tI/s1600/device-2012-11-14-001538.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-DGCG8h5rRX4/UKM6kqHdb1I/AAAAAAAAACM/VXPa9CeG7tI/s320/device-2012-11-14-001538.png" width="185" /></a>
<li><b>Icon Size:</b> This controls the size of the icon itself. Move the slider around to see the size change and get it just right.</li>
<li><b>Background Color:</b> This controls the background of the icon. Some of the icons are transparent, so setting the background color to Black will ensure the background battery doesn't show through. Move the 'Alpha' slider all the way down to gain full transparency.</li>
<li><b>Additional Background Size:</b> This is similar to icon size, except it adds a padding to the icon using the background color. This allows you to have a smaller icon, but still cover a larger background.</li>
<li><b>Align:</b> Generally Top Right is the correct location, however every device is different, so place it where you want.</li>
<li><b>Horizontal Padding:</b> This controls how far away the icon is from the edge of the screen</li>
<li><b>Vertical Padding:</b> This controls how far away the icon is from the top (or bottom) of the screen.</li>
<li><b>Pad For 2-Digit Hour:</b> Most devices have the clock all the way on the right, so when the time changes from 9:00 to 10:00, the battery icon moves to the left. This lets you control how much padding that extra digit requires, and the icon will automatically move depending on the time of day.</li>
<li><b>Include Clock Pad On Lock Screen:</b> For devices that show the clock on the lock screen in the same way as when unlocked, this lets you enable the Pad For 2-Digit Hour on the lockscreen as well. Most devices don't do this, so this is disabled by default.</li>
<li><b>Icon Brightness:</b> You can dim the icon if it's too bright to better match the colors elsewhere on the status bar.</li>
<li><b>Show only when status bar is visible:</b> When apps go into Full Screen mode, the icon will disappear by default. This is typically what you want, however toggle this to make sure the icon never gets hidden. <b>NOTE:</b> Some devices (Nook Tablet & Color) where the status bar is not at the top of the screen don't support auto-hiding, and so this MUST be checked on these devices. Hopefully there aren't may such devices.</li>
</ul>
Suggestions? Feel free to email me with any additional features, or let me know (with a screenshot) if things don't work. You can find my contact info in the About section on the blog. <br />
</div>
GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com54tag:blogger.com,1999:blog-646743054536420495.post-10605024020616550322012-07-08T12:53:00.001-05:002012-07-08T12:53:39.634-05:00Renaming an Android AppI started my Android Development by simply creating an app for my own use - I wasn't happy with existing battery monitors, and wanted much more detail. So I created Badass Battery Monitor. The name was a joke - but I liked it, and it was unique, so it stuck.<br />
<br />
As the app has grown in popularity, I get frequent comments from users complaining about the name. While Badass isn't necessarily a 'bad word', it certainly is considered vulgar in certain company. Nothing in the app is at all risque or offensive in any way other than the name, so why risk alienating possible users just for the sake of the name? If I could start over, I'd definitely choose a different name. Can I rename the App in flight?<br />
<br />
Yes - I'm going to rename the app and see how it works. I run the following risks:<br />
<ol>
<li>There are numerous reviews, forum posts, etc. that all refer to Badass Battery Monitor. A significant portion of download traffic can be attributed to this. What happens when you change the name? Can folks still find your app? Will they get confused by the name change and think they haven't found the right app?</li>
<li><i>Badass</i> has a certain ring to it, and is very unique. Type in <i>Badass</i> in Google Play, and the app comes up. Google <i>Badass Android</i> and the app comes up. How do I avoid losing that? At least for a while, I'll have to prominently indicate that this is the <i>App Formerly Known As Badass</i>.</li>
</ol>
<br />
<br />
<b>Choosing a new name:</b><br />
<br />
It's important to be able to find the app in the Play store. Generically named apps - something like 'Battery' are very hard to find, even if you know exactly what your searching for. But you want your app name to be descriptive for users who are browsing, then can easily tell what your app does.<br />
<br />
So I went with <i><b>GSam Battery Monitor</b></i>. The name contains a strong description of what the app does, but also contains a unique term to help distinguish it from all the other Battery apps out there. GSam is unique, and is already associated with the app (I develop under the name <i>GSam Labs</i>). <br />
<br />
<br />
<b>Tracking the rename effect:</b> <br />
<br />
Fortunately Google and Amazon provide a wealth of download statistics. So I know what my historical downloads are, and can track whether the name change has any major effects. I'll update this post as time passes to show any changes. This is all a big experiment - if my downloads fall off a cliff, I can always change the name back!GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com25tag:blogger.com,1999:blog-646743054536420495.post-57331574654813594682012-01-11T00:32:00.001-06:002012-06-23T21:14:00.237-05:00GSam Screen Dimmer - Users Guide<div style="text-align: center;">
<span style="font-family: Verdana,sans-serif; font-size: x-large;">GSam Screen Dimmer - Users Guide (Version 1.4)</span></div>
<div style="text-align: left;">
<br /></div>
<hr />
<br />
<span class="input text-block ellipsis">Is your Android screen too bright
for reading at night? Even on it's lowest Brightness setting, many
people find that their screen can be too bright for reading in a dark
room. GSam Screen Dimmer lets you dim the screen way past what many built-in brightness setting will allow, giving you a much better
night reading experience. You can dim your screen without ever leaving
the app you are currently running. Better yet, you can see the content
on your screen while you dim - no need to launch into separate screens.</span><br />
<div style="text-align: left;">
<br /></div>
<hr />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_0050e13e-a150-463c-a430-2257df10283e_65ed7c8d1126c3f138df2e0fe6392dbf" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_0050e13e-a150-463c-a430-2257df10283e_65ed7c8d1126c3f138df2e0fe6392dbf" width="184" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">GSam Screen Dimmer</td></tr>
</tbody></table>
<span style="font-size: large;"><u>Main Screen</u><u>:</u></span><br />
<br />
GSam Screen Dimmer has one screen. This can be launched from the Notification Bar (if enabled), or directly from your launcher tray. <b>Note:</b> Since this is a utility app you'll use often, it will not always show up on your Kindle Carousel. This is to prevent this app from always showing up in the first few Carousel items.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_22bf4b2b-7129-42d0-bfd5-24d2315136d7_727700d9cdf86c2078d14aa16473c0b9" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="200" src="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_22bf4b2b-7129-42d0-bfd5-24d2315136d7_727700d9cdf86c2078d14aa16473c0b9" width="116" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Launching GSam Screen Dimmer</td></tr>
</tbody></table>
In order to work and dim the screen past what the device usually allows, the screen dimmer needs to always be running in the background. If you want to change the brightness, simply launch the screen dimmer from the notification bar, choose a preset button (or customize it with the slider). Then close the screen, and continue reading. <br />
<br />
<br />
<br />
<b>Enabled:</b> By default, the screen dimmer is not enabled. When it is not enabled, the standard Brightness settings will be used. When enabled, GSam Screen Dimmer will take over your brightness controls. <b>Note</b>: If you change the system brightness settings while the dimmer is enabled, the system settings will rule until you adjust (or disable/enable) the screen dimmer.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_49d55d8e-7c47-48a3-ab07-1bd81ddf56c8_8246c03ffbefc82d44ab4197e71418b4" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="200" src="https://s3-external-1.amazonaws.com/com-amazon-mas-catalog/M1WANKUORF8Q0K/MZ00E77FEE53C/images/_49d55d8e-7c47-48a3-ab07-1bd81ddf56c8_8246c03ffbefc82d44ab4197e71418b4" width="116" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Customize Preset Buttons</td></tr>
</tbody></table>
<b>Preset Buttons:</b> By default, GSam Screen Dimmer comes with 4 preset buttons (Min, Night, Day, and Max). Simply clicking on the button will immediately adjust the display to the preset brightness. Long-clicking the button will allow you to change the name (5 characters only) and brightness setting for the preset. From hereon-out, clicking the button will set the screen to your custom value.<br />
<br />
<b>Settings:</b> By default, GSam Screen Dimmer will run on startup and show an icon in the Notification Bar. This provides very quick access to the utility without having to hunt through your app icons. You can disable either feature, but accessing the app becomes harder - and you want easy access to your Dimmer settings.<br />
<br />
<div style="text-align: left;">
<br /></div>
<hr />
<br />
<br />
<span style="font-size: large;"><u>Troubleshooting</u></span><span style="font-size: large;"><u>:</u></span>
<br />
<br />
<ol>
<li>The screen is too dim! I'm in bright sunlight and I forgot to undo my minimum dimmness. </li>
<ul>
<li>Go into a dark room, or simply reboot your kindle. This will restore the default screen brightness with the Screen Dimmer disabled.</li>
</ul>
<li>The screen dimmer says it's Enabled, but the screen is still bright.</li>
<ul>
<li>If you adjust the brightness settings using the default controls while the Screen Dimmer is enabled, then the default controls take priority. To get the Dimmer back, simply click on the Dimmer and adjust the setting, or disable/enable it to restore the dimmer function.</li>
</ul>
<li>I don't see the Dimmer app in the Kindle Carousel. </li>
<ul>
<li>This is by design. Look in your App menu, add it to your Favorites, or simply access it from the Notification bar. Since this will be a constantly accessed app, it shouldn't constantly show up in the first few items in the carousel, otherwise you lose the benefit of the carousel.</li>
</ul>
</ol>GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com12tag:blogger.com,1999:blog-646743054536420495.post-48479400649484544572012-01-02T13:53:00.001-06:002012-01-03T01:32:57.271-06:00Badass Battery Monitor - Creating An Icon PackAs of version 2.2 of Badass Battery Monitor (all versions), it's now possible to create third-party icon packs that will work with Badass Battery Monitor.<br />
<br />
See the following link for details as to how to do it. Instructions are provided in the wiki, and the source tab of course contains all the source for a complete Eclipse Android project. It's fairly simple to do - very little modification is needed - with the exception of the icon sets of course!<br />
<br />
You're free to create your own icon packs for your personal use, or make your creations available in the Market or Appstore (for free of for $$$ - up to you).<br />
<br />
Here's the wiki showing you how to do it:<br />
<br />
<a href="http://code.google.com/p/badass-battery-monitor-iconpack-template/wiki/CreatingAnIconPack">http://code.google.com/p/badass-battery-monitor-iconpack-template/wiki/CreatingAnIconPack</a> <br />
<br />
<br />
You can see available themes in the market using the following URL:<br />
<br />
<a href="https://market.android.com/search?q=BadassBatteryMonitorTheme&c=apps">https://market.android.com/search?q=BadassBatteryMonitorTheme&c=apps</a><br />
<br />
Enjoy!GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com9tag:blogger.com,1999:blog-646743054536420495.post-15689813687923150462011-12-19T22:29:00.000-06:002011-12-25T21:26:37.983-06:00Badass Battery Monitor - Free vs. Paid & the Kindle FireWe have released a paid version (currently $1.99) of Badass Battery Monitor. The free version of Badass Battery Monitor is still free, and will continue to get updates. Why a Paid version? Read on...<br />
<br />
Badass Battery Monitor has become quite popular on the Kindle Fire for monitoring the Fire's battery.<br />
<ul><li> As of this post, it was #189 on Amazon Appstore for all free apps. </li>
<li>80% of the downloads from Amazon Appstore are coming from Kindle Fire users (for this particular App).</li>
<li>Badass Battery Monitor recently got written up by Sharon Vaknin in her <a href="http://howto.cnet.com/8301-11310_39-57341857-285/five-ways-to-increase-your-kindle-fires-battery-life/">c|net blog</a> about the Kindle Fire.</li>
</ul><br />
Kindle users tend to be a different breed from the average Android user. They have very different expectations, and are looking for apps that fit their particular device. While the Kindle Fire is using Android as it's underlying operating system, it is a very unique device, and apps designed for Android Phones - particularly Battery Monitoring apps fail miserably on the Kindle. Even though Badass Battery Monitor is popular on the Kinde Fire, we've received lots of enhancement requests. Chief amongst those are:<br />
<ol><li><i>Time estimates are way off.</i> Because the kindle has no phone (who's radio constantly chews up battery on most Android devices), estimating the time remaining is very tricky. You can't estimate based purely on how long the device has been on since last charged/unplugged, because the Kindle has a very long standby time. Put it in standby for a day, come back, and you'll find it's lost maybe 1% of the battery (if that). Telling the user they have 700 hours left isn't very helpful. Technically they do if they leave it in standby, but they really want to know how much <i>Active</i> time they have remaining.</li>
<li><i>The layout is optimized for a phone - make a version that fits my 7" tablet screen:</i> Designing for a tablet vs. a phone is very different. We designed Badass Battery Monitor originally for phones. How can we take advantage of the bigger screen size and make it more usable?</li>
</ol><b>So why release a Paid version?</b><br />
<br />
The Kindle users have been very vocal - it's a good thing. Enhancing an application for a specific device however takes quite a bit of effort (not to mention having to get a hold of the device itself for testing). It was time to recoup at least some of our development costs, and in-app advertisement is so annoying (and not particularly profitable).<b> </b>We'll see how this works - it's our first Paid app. Are the features available in the Paid version worth the $1.99? Hopefully some people think so - if not, just think of it as a donation for work you appreciate! The goal is to keep the free version ad-free...<br />
<br />
Badass Battery Monitor (Kindle Fire Edition) available on Amazon Appstore (soon hopefully - pending their Approval) and <a href="https://market.android.com/details?id=com.gsamlabs.bbm.pro">Professional Edition</a> (on Google's Android Market) address most enhancement requests we've received to-date. Keep them coming!GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com41tag:blogger.com,1999:blog-646743054536420495.post-90601849483395940952011-10-16T18:19:00.000-05:002011-10-17T13:51:11.819-05:00Badass Battery Monitor - Monitoring Your Android BatteryI've always been intrigued with device monitoring, so when I got my Android phone, I really wanted to know more details as to it's power usage. There are an amazing amount of battery monitoring apps out there - most of them are pretty terrible, but there are a few really good ones. Unfortunately, even the good ones don't do everything I really wanted. With that in mind, and as a way to learn how to write a basic Android application, I decided to create my own.<br />
<br />
You can now download Badass Battery Monitor for free in the Android Market. <a href="https://market.android.com/details?id=com.gsamlabs.bbm">https://market.android.com/details?id=com.gsamlabs.bbm</a><br />
<br />
There are no ads - it uses Internet Access for graphing, but otherwise requires no special permissions.<br />
<br />
<b>What makes Badass Battery Monitor different?</b><br />
<br />
<ol><li><b>Percent and time estimate quick view:</b> A way to always see how much battery is left, and easily see estimates of remaining time. Other apps have this - but non all in one place. This was the key item that I always want to see, and I don't want to open an app just to see it. <div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-tHMazJIfQyk/Tpu6BdHTxPI/AAAAAAAAAAQ/MvPeZraofNE/s1600/device-2011-10-16-223450.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://4.bp.blogspot.com/-tHMazJIfQyk/Tpu6BdHTxPI/AAAAAAAAAAQ/MvPeZraofNE/s200/device-2011-10-16-223450.png" width="133" /></a></div></li>
<li> <b>Custom power profiles: </b>All battery utilization is dependent upon your device manufacturer providing appropriate Power Usage values for different types of functions. For example, an active call will take X amount of power / second. Unfortunately, my phone manufacturer did a really bad job of this - and so all monitor programs that are based off of this information show bad results. With this app, you can customize the power profile used - it even has some canned ones from other devices. Configuring these to find the best settings will require some work - but hopefully your device does a better job than mine (thanks LG).</li>
<li><b>Find out what is draining your battery: </b> In Android 2.2 and earlier there was a built in BatteryStats program (it was hidden) from which you could find all sorts of useful information such as who was holding WakeLocks, etc. They removed this in 2.3 (some Mods still include it - Cyanogenmod for example). So I built this function into the app. There is another app out there (Better Battery Stats) that does this as well - and does a good job of it.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-GmK9wihsT9U/Tpu6mehcjzI/AAAAAAAAAAo/mjzXA22v1Vs/s1600/device-2011-10-16-222824.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://2.bp.blogspot.com/-GmK9wihsT9U/Tpu6mehcjzI/AAAAAAAAAAo/mjzXA22v1Vs/s200/device-2011-10-16-222824.png" width="133" /></a><a href="http://1.bp.blogspot.com/-4qyV1GBkcNM/Tpu6ZX5I6CI/AAAAAAAAAAY/kzFSOsS3ESU/s1600/device-2011-10-16-222648.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-4qyV1GBkcNM/Tpu6ZX5I6CI/AAAAAAAAAAY/kzFSOsS3ESU/s200/device-2011-10-16-222648.png" width="133" /></a><a href="http://2.bp.blogspot.com/-BNxn84GnbI0/Tpu6kQk5v6I/AAAAAAAAAAg/Iz1vXZDP5jg/s1600/device-2011-10-16-222757.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://2.bp.blogspot.com/-BNxn84GnbI0/Tpu6kQk5v6I/AAAAAAAAAAg/Iz1vXZDP5jg/s200/device-2011-10-16-222757.png" width="133" /></a></div></li>
<li><b>Low battery usage:</b> A number of the more full featured apps tend to consume a lot of battery by doing regular polling - even when the device is in deep sleep. I made sure this app only consumes resources when the device sends an alert for battery state changes, or when you're actively interacting with it. Some phones seem to publish a new alert for every % drop in battery, while others will wait to send the alert until the device is woken up for some other reason (the latter seems much better), but in either case, this app should have minimal to no effect on your battery.</li>
</ol><br />
<br />
<b>Other good battery monitors:</b><br />
<ol><li><b>Battery Monitor Widget</b>: This app includes an ton of detail, and nice history graphs. It's way way way to busy for my liking though. It's missing some of the features above (actually all of them), but it does have other features that Badass Battery Monitor doesn't have.</li>
<li><b>Better Battery Stats:</b> Great little app intended to replace the Battery History built in app removed in Gingerbread. There is a great tutorial included as to how to determine what is draining your battery. Badass Battery Monitor has all of these functions as of this writing, but data is presented in a different way.</li>
<li><b>????:</b> I'm sure there are others...</li>
</ol>GSam Labshttp://www.blogger.com/profile/07548412408440525292noreply@blogger.com12