greenhub-project / batteryhub Goto Github PK
View Code? Open in Web Editor NEW:seedling: Android battery monitor app
Home Page: https://greenhubproject.org
License: Apache License 2.0
:seedling: Android battery monitor app
Home Page: https://greenhubproject.org
License: Apache License 2.0
Implement battery remaining time estimator algorithm. Consider a linear regression (e.g. trend-line)
Implement Restful HTTP schema for sending samples to server
Back button should redirect to Settings Activity instead of going to Main Activity
Start an independent development cycle for the Inspector module.
Modify it to include it as an Android library later on...
Create Device entity to register general information about hardware
Review existing codebase to follow these guidelines
Add more context action to record more samples due to bug #15
Drop the use of PowerManager wake locks and instead switch to a JobScheduler.
Currently the application has a target API level of 27, since the WakefulBroadcastReceiver was deprecated in API level 26.1.0, the use of wave locks through the PowerManager class is a potential security and performance risk!
Migrate the current DataEstimatorService class to a JobIntentService.
From https://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver:
As of Android O, background check restrictions make this class no longer generally useful. (It is generally not safe to start a service from the receipt of a broadcast, because you don't have any guarantees that your app is in the foreground at this point and thus allowed to do so.) Instead, developers should use android.app.job.JobScheduler to schedule a job, and this does not require that the app hold a wake lock while doing so (the system will take care of holding a wake lock for the job).
This issue is related to #79.
Modify Battery current now feature to be compatible with older devices (older than Android 5.0).
Otherwise, if the device doesn't support, the value 0 is returned at the moment.
Add a new setting to turn on a new alternative reading method for older devices.
Add a boot receiver to broadcast to the application so it starts after the android operating is boot up or restarted.
Add methods to handle protocol communication with web server
Add some kind of context interaction to the battery alerts, at the moment upon clicking they aren't doing any action.
The main purpose, explaining to the user the goals of the project, how the app works and showcase some of the more less visible features.
We could use this library to implement this feature.
Refactoring current parser to a new abstract solution, cleaning up the code and making it easier to add new models
Service should be taking in more readings instead only a couple are saved
Charts don't refresh when navigating to the Statistics tab.
At the moment is necessary to quit the app in order to do a refresh.
A Scheduler to perform the uploads according to the sync intervals in the preferences
On some devices status notification is not being updated on the lock screen.
This app was built for an older version of Android and cannot be updated automatically.
OS version: Funtouch OS 14
Model: Vivo T1 4G (V2153)
Hardware version: MP_0.1
Build number: PD22010F_EX_A_14.2.7.12.W20
Baseband version: S.HA.1.1.c2-00054-DIVAR_GENSP_PACK-1.29062.88
Kernel version: 4.19.157-perf+, 1 Wed Jun 5 10:25:33 CST 2024
Compile time: 5 Jun 2024 05:20:41
Android security update: 1 June 2024
Google Play system update: 1 May 2024
When preference power indicator is switched off the handler updates the status bar doesn't stop running.
Limit number of samples in the device in case of continuous fail of uploading to prevent local database to grow
Does not perform any network operations with mobile plan
When deleting data history usages a dummy usage entry is shown on the charts.
This draws a line that overlaps the other entries breaking the chart visualization.
Avoid exception thrown by sync object locks on the database level operations. Confirm the origin of the issue. Perhaps disable the send floating button while the current operation is not finished
Create a Error reporting mechanism to catch possible code exceptions for future correction
Service doesn't start running after user has accepted the ToS on the first run of the application
/proc is now a root directory therefore the information about the runnings processes on Android 7.0 or newer may be compromised.
It is necessary to find a workaround this issue and try not to loose information in the way.
Consider use a linear function percentage of battery over time to get battery drain?
Start with a simpler approach and develop
Due to the class WakefulBroadcastReceiver being deprecated, a rework of the service is necessary.
Show general information about device on About Fragment
Change current class to work async performing all Network operations on the background
Fix the the memory usage on the 'My Device' screen. Refer to the task manager method of reading the memory
The value of the battery level is not updated automatically when the battery changes. Only when it enters the app
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.